X   Сообщение сайта
(Сообщение закроется через 3 секунды)



 

Здравствуйте, гость (

| Вход | Регистрация )

Открыть тему
Тема закрыта
> GD
dimjan4
dimjan4
Topic Starter сообщение 7.10.2009, 17:21; Ответить: dimjan4
Сообщение #1


Здравствуйте , есть несколько вопросов...
1. Как сделать фон картинки??
[PHP]$bcolor_s = imagecolorallocate($image,204,0,102);[/PHP]
0
Вернуться в начало страницы
 
Ответить с цитированием данного сообщения
Apay
Apay
сообщение 7.10.2009, 20:06; Ответить: Apay
Сообщение #2


с помощью floodfill может не получиться. поэтому есть три способа

способ 1)
1) залить все цветом фона
2) рисовать уже на фоне

способ 2) (на палитровых изображениях)
1) получить индекс палитры нужного цвета
2) установить нужный цвет в этот индекс

способ 3)
пробежать картинку попиксельно в цикле и заменять текущий фоновый цвет на желаемый
Вернуться в начало страницы
 
Ответить с цитированием данного сообщения
dimjan4
dimjan4
Topic Starter сообщение 7.10.2009, 20:41; Ответить: 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
Apay
сообщение 8.10.2009, 12:52; Ответить: Apay
Сообщение #4


используйте 2 ф-ии
1) imagecolorallocate
2) imagefilledrectangle

и самое главное - читайте учебники по php, там все это есть
Вернуться в начало страницы
 
Ответить с цитированием данного сообщения
dimjan4
dimjan4
Topic Starter сообщение 8.10.2009, 20:15; Ответить: 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
Apay
сообщение 11.10.2009, 15:57; Ответить: Apay
Сообщение #6


rtfm
Замечание
Поддержка создания изображений формата GIF была удалена из библиотеки GD, начиная с версии 1.6. В этой и более поздних версиях библиотеки данная функция недоступна.
Вернуться в начало страницы
 
Ответить с цитированием данного сообщения
dimjan4
dimjan4
Topic Starter сообщение 11.10.2009, 19:25; Ответить: dimjan4
Сообщение #7


Изменил на Jpeg...теперь выводит чёрный прямоугольник! По идеи фон должен быть белым (так как я не передал значение переменной $_GET['color']

$color_d = (empty($_GET['color']))? "black" : $_GET['color'];

Замечание модератора:
Эта тема была закрыта автоматически ввиду отсутствия активности в ней на протяжении 100+ дней.
Если Вы считаете ее актуальной и хотите оставить сообщение, то воспользуйтесь кнопкой
или обратитесь к любому из модераторов.
Вернуться в начало страницы
 
Ответить с цитированием данного сообщения
Открыть тему
Тема закрыта
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0


 



RSS Текстовая версия Сейчас: 29.3.2024, 1:25
Дизайн