Помощник
|
GD |
dimjan4
|
Сообщение
#1
|
||
|
|
||
|
|||
Apay |
7.10.2009, 20:06;
Ответить: Apay
Сообщение
#2
|
|
с помощью floodfill может не получиться. поэтому есть три способа
способ 1) 1) залить все цветом фона 2) рисовать уже на фоне способ 2) (на палитровых изображениях) 1) получить индекс палитры нужного цвета 2) установить нужный цвет в этот индекс способ 3) пробежать картинку попиксельно в цикле и заменять текущий фоновый цвет на желаемый |
|
|
dimjan4
|
Сообщение
#3
|
|
А Вы не можете привести пример как сделать, например, полностью серый квадрат 100 на 100 px
[PHP]<?php header("Content-type: image/gif"); $image = imagecreate(100,100); ///Что тут?? Цвет 153.153.153 imagegif($image); imagedestroy($image); ?>[/PHP] |
|
|
Apay |
8.10.2009, 12:52;
Ответить: Apay
Сообщение
#4
|
|
используйте 2 ф-ии
1) imagecolorallocate 2) imagefilledrectangle и самое главное - читайте учебники по php, там все это есть |
|
|
dimjan4
|
Сообщение
#5
|
|
Видите ли ,Apay, функция imagefilledrectangle заполняет цветом определенное место с координатами...Получается, если у меня размеры изображения 88X15px, то код будет выглядить примерно так:
[PHP]imagefilledrectangle ($img, 0, 15, 88, 0, $bcolor_s);[/PHP] Давайте, чтобы Вас не мучать, выложу код: [PHP]<?php header("Content-type: image/gif"); include ("classes.php"); $url_d = (empty($_GET['url']))? FALSE : $_GET['url']; $color_d = (empty($_GET['color']))? "black" : $_GET['color']; $bcolor_d = (empty($_GET['bcolor']))? "white" : $_GET['bcolor']; $p1 = new Proverka(); $p1_1 = $p1->bukvi($color_d); $p2 = new Proverka(); $p2_1 = $p2->bukvi($bcolor_d); $url_b = (preg_match("/^(http(s)?:\/\/)(([^\/]+\.)+)\w{2,}(\/)?.*$/i",$url_d)) ? $url_d : FALSE; $color_b = ($color_d==FALSE or $p1_1 == FALSE)? "black" : $color_d; $bcolor_b = ($bcolor_d==FALSE or $p2_1 == FALSE)? "white" : $bcolor_d; switch($url_b): case FALSE: $googlepr = "ERROR"; $yandexcy = "ERROR"; break; default: $google = new GooglePR; $googlepr = $google->getPagerank ($url_b); $yandex = new YandexCY; $yandexcy = $yandex->getCY ($url_b); break; endswitch; $image = imagecreate(88,15); switch($color_d): case "white": $color_s = imagecolorallocate($image,255,255,255); break; case "black": $color_s = imagecolorallocate($image,0,0,0); break; case "blue": $color_s = imagecolorallocate($image,0,102,255); break; case "yellow": $color_s = imagecolorallocate($image,255,255,0); break; case "red": $color_s = imagecolorallocate($image,204,0,102); break; case "green": $color_s = imagecolorallocate($image,51,204,51); break; default: $color_s = imagecolorallocate($image,255,255,255); break; endswitch; switch($bcolor_d): case "white": $bcolor_s = imagecolorallocate($image,255,255,255); break; case "black": $bcolor_s = imagecolorallocate($image,0,0,0); break; case "blue": $bcolor_s = imagecolorallocate($image,0,102,255); break; case "yellow": $bcolor_s = imagecolorallocate($image,255,255,0); break; case "red": $bcolor_s = imagecolorallocate($image,204,0,102); break; case "green": $bcolor_s = imagecolorallocate($image,51,204,51); break; default: $bcolor_s = imagecolorallocate($image,255,255,255); break; endswitch; $str = "Y ".$yandexcy." G ".$googlepr; $str = convert_cyr_string($str,'k','w'); imagettftext($image, 24, 0, 4, 13, $color_s, "./font.ttf",$str); imagefilledrectangle ($image, 0, 15, 88, 0, $bcolor_s); imageGIF($image); imagedestroy($image); ?>[/PHP] Выдаёт ошибку ,типа, Fatal error: Call to undefined function: imagegif() in z:\home\test2.ru\www\img.php on line 82 |
|
|
Apay |
11.10.2009, 15:57;
Ответить: Apay
Сообщение
#6
|
|
rtfm
Замечание
Поддержка создания изображений формата GIF была удалена из библиотеки GD, начиная с версии 1.6. В этой и более поздних версиях библиотеки данная функция недоступна. |
|
|
dimjan4
|
Сообщение
#7
|
|
|
Изменил на Jpeg...теперь выводит чёрный прямоугольник! По идеи фон должен быть белым (так как я не передал значение переменной $_GET['color']
$color_d = (empty($_GET['color']))? "black" : $_GET['color'];
|
|
|
||
|
Текстовая версия | Сейчас: 19.3.2024, 16:38 |