Sharkon
Guest
Проблемы с передачей значения цвета из формы для генерирующейся картинки и надписи
Ситуация следующая - хочу сделать так, чтобы в форме можно было ввести надпись, выбрать цвет фона и цвет текста, а потом показать все это на экране.
Когда просто ставлю числовые значения цвета в php скрипте, все работает. Когда пытаюсь переслать эти данные из формы, не работает - выводит простое пустое поле картинки или цвет надписи не меняется.
Подскажите плиз, почему значение переменной не вставляется из формы в код. В РНР разбираюсь так себе, поэтому сильно не пинайте, если в коде что-то не то.
Вот поскипанный код формы (оставлены только значения цветов и надписи, чтобы не захламлять мессагу):
<form action="test2.php" method="post">
<div align="center">Текст надписи:</div>
<input type="text" name="nadpis" value="Че за ботва?" maxlength="20">
<div align="center">Цвет заднего фона:</div>
<select name="back">
<option value="0xffffff" selected>000 Прозрачный</option>
<option value="0xfffff7">010 Белый</option>
и т.д.
</select>
<div align="center">Цвет шрифта:</div>
<select name="fcol">
<option value="0x18088c" selected>065 Кобальтовый синий</option>
<option value="0xc30000">031 Красный</option>
и т.д.
</select>
А вот сам скрипт.
Проблемные места выделил комментариями.
Такая же история при использовании imagecolorallocate. В скрипте прописываю все цвета, пытаюсь формой пердать один из цветов - не читается.
Подскажите плиз, в чем фигня-то? Чувствую, что проблема пустяковая, а понять не могу.
Ситуация следующая - хочу сделать так, чтобы в форме можно было ввести надпись, выбрать цвет фона и цвет текста, а потом показать все это на экране.
Когда просто ставлю числовые значения цвета в php скрипте, все работает. Когда пытаюсь переслать эти данные из формы, не работает - выводит простое пустое поле картинки или цвет надписи не меняется.
Подскажите плиз, почему значение переменной не вставляется из формы в код. В РНР разбираюсь так себе, поэтому сильно не пинайте, если в коде что-то не то.
Вот поскипанный код формы (оставлены только значения цветов и надписи, чтобы не захламлять мессагу):
<form action="test2.php" method="post">
<div align="center">Текст надписи:</div>
<input type="text" name="nadpis" value="Че за ботва?" maxlength="20">
<div align="center">Цвет заднего фона:</div>
<select name="back">
<option value="0xffffff" selected>000 Прозрачный</option>
<option value="0xfffff7">010 Белый</option>
и т.д.
</select>
<div align="center">Цвет шрифта:</div>
<select name="fcol">
<option value="0x18088c" selected>065 Кобальтовый синий</option>
<option value="0xc30000">031 Красный</option>
и т.д.
</select>
А вот сам скрипт.
Проблемные места выделил комментариями.
PHP:
<?php
require('win2uni.php');
define(WIDTH, 400);
define(HEIGHT, 60);
header ("Content-type: image/jpeg");
$im = imagecreatetruecolor (400, 60);
imagefill ($im, 0, 0, 0xFFFFFF); //вот здесь не получается подставить переменную $back из формы вместо цвета 0xFFFFFF. Цвет просто не читается. А если стоит просто числовое значение, как в данный момент, то все ок. 8-(
$text = win2uni ("$nadpis");
$coord = imagettfbbox( 24, 0, "arial.ttf", $text);
$width = $coord[2] - $coord[0];
$height = $coord[1] - $coord[7];
$X = (WIDTH - $width) / 2;
$Y = (HEIGHT + $height) / 2;
imagettftext ($im, 24, 0, $X, $Y, $fcol, "arial.ttf", $text); // И вот здесь $fcol ну никак не хочет браться из формы, не могу понять почему. Опять-таки ставлю значение вроде 0xFFFFFF, тогда все работает. Почему переменная из формы не передается?
imagejpeg ($im);
imagedestroy ($im);
?>
Подскажите плиз, в чем фигня-то? Чувствую, что проблема пустяковая, а понять не могу.

