Рассылка закрыта
При закрытии подписчики были переданы в рассылку "Бизнес и карьера в интернете" на которую и рекомендуем вам подписаться.
Вы можете найти рассылки сходной тематики в Каталоге рассылок.
← Февраль 2005 → | ||||||
1
|
2
|
3
|
5
|
6
|
||
---|---|---|---|---|---|---|
7
|
9
|
10
|
11
|
12
|
13
|
|
14
|
15
|
16
|
17
|
18
|
19
|
20
|
21
|
22
|
23
|
24
|
25
|
26
|
27
|
28
|
Автор
Статистика
4.017 подписчиков
0 за неделю
0 за неделю
нет.
Информационный Канал Subscribe.Ru |
Познавательное программирование
(comp.soft.prog.urisprog)Выпуск 27
Здравствуйте, Уважаемые подписчики!4>
Любая программа должна иметь ровно столько недоработок, чтобы она и сама неплохо работала, и позволяла неплохо зарабатывать программистам на её улучшениях.
- афоризм.
Предисловие от ведущего рассылки
С этого дня я начинаю указывать внизу свой ICQ.
Пожалуйста, не связывайтесь по нему со мной "просто так", только если у вас есть что-то конкретное.
Для любых предложений как всегда открыт мой e-mail.
А теперь статья для Веб-программистов.
PHP. Расширение php_gd2.
Итак, я надеюсь, что вам знакома аббревиатура PHP, иначе этот текст читать, по-моему, бесполезно.
А для чего же предназначен модуль php_gd? Для создания png- или gif-картинок, друг мой [в зависимости от поставки gd; вроде бы даже существует модуль с поддержкой обоих форматов], а также jpeg-изображений, поддерживаемых всеми версиями gd. Особо это полезно, когда вы хотите украсить вашу страничку каким-то динамически обновляющимся рисунком. Ну, например, баннером, выводящим размер сайта или отдельных страничек или даже папки сайта. Короче, придумаете что-нибудь. Можно даже просто строить графики различных
функций прямо на сервере и пр.
;Windows Extensions
;extension=php_mysql.dll
;extension=php_nsmail.dll
;extension=php_calendar.dll
;extension=php_dbase.dll
;extension=php_filepro.dll
;extension=php_gd.dll
;extension=php_dbm.dll
;extension=php_mssql.dll
;extension=php_zlib.dll
;extension=php_filepro.dll
;extension=php_imap4r2.dll
;extension=php_ldap.dll
;extension=php_crypt.dll
;extension=php_msql2.dll
;extension=php_odbc.dll
То есть у меня подключены расширения ‘php_mysql’ и ‘php_gd’. Замечание: если вы впервые работаете в PHP, установите значение переменной ‘Register_globals’ в состояние On, иначе вы не сможете передавать переменные через PHP-странички [ради чего мы вообще-то и установили его ;)].
Итак, если вы всё сделали правильно [проверочные примеры смотрите в соответствующих пособиях], то можно начинать.
Прежде чем приступить к изучению gd, определим версию подключённой Вами библиотеки и все её функции, которые можно использовать в PHP. Для этого создадим страничку ‘gd_info.php’, содержащей следующий код:
<?php
echo("<h2><p align=center>Detecting all PHP extensions and their functions</p></h2>");
$i=get_loaded_extensions();
foreach($i as $ext)
{
echo("<hr><h3><p align=center>Extension [$ext]</p></h3>");
$j=get_extension_funcs($ext);
print_r($j);
}
?>
Запустим Internet Explorer и в адресной строке напишем адрес нашего гениального творения: http://localhost/gd_info.php. Данный скрипт выведет нам все функции подключённых и встроенных расширений PHP.
Чтобы получить информацию лишь о функциях gd измените скрипт следующим образом:
<?php
echo("<h3><p align=center>Extension php_gd</p></h3>");
$j=get_extension_funcs("gd");
print_r($j);
?>
В моей версии php_gd в наличии 81 функция.
Extension php_gd
Array ( [0] => gd_info [1] => imagearc . . . [81] => imagecolormatch )
Итак, от теории – к практике!
Задание 1: провести прямую из точки А с координатами (x1, y1) в точку Б с координатами (x2, y2).
Решение:
<?php
//Определяем размеры картинки.
$imgw=300;
$imgh=200;
//Создаём картинку.
$im=imagecreate($imgw,$imgh);
//Определяем координаты точки А и Б.
$Ax=30;
$Ay=30;
$Bx=270;
$By=170;
//Определяем цвет фона.
$bgcolor=imagecolorallocate($im,255,255,255);
//Определяем цвет линии.
$line_color=imagecolorallocate($im,255,0,0);
//Проводим линию.
imageline($im,$Ax,$Ay,$Bx,$By,$line_color);
//Создаём файл картинки.
$file="image.jpeg";
imagejpeg($im, $file);
echo("<p align=center><img src=$file></p>");
imagedestroy($im);
?>
Задание 2: залить картинку линейной градиентной заливкой.
Решение:
<?php
//Определяем размеры картинки.
$imgw=300;
$imgh=200;
//Создаём картинку.
$im=imagecreate($imgw,$imgh);
//Задаём начальный и конечный цвет градиента.
$start="000000";
$final="FFFFFF";
$reds=$start[0].$start[1];
$greens=$start[2].$start[3];
$blues=$start[4].$start[5];
$reds=hexdec($reds);
$greens=hexdec($greens);
$blues=hexdec($blues);
$redf=$final[0].$final[1];
$greenf=$final[2].$final[3];
$bluef=$final[4].$final[5];
$redf=hexdec($redf);
$greenf=hexdec($greenf);
$bluef=hexdec($bluef);
$koefr=($redf-$reds+1)/$imgh;
$koefg=($greenf-$greens+1)/$imgh;
$koefb=($bluef-$blues+1)/$imgh;
//Рисуем линии.
for($i=0;$i<=$imgh;$i++)
{
$gradr=$koefr*$i+$reds;
$gradg=$koefg*$i+$greens;
$gradb=$koefb*$i+$blues;
$col=imagecolorallocate($im,$gradr,$gradg,$gradb);
imageline($im,0,$i,$imgw,$i,$col);
}
//Создаём файл картинки.
$file="image.jpeg";
imagejpeg($im,$file);
//Разрушаем картинку.
imagedestroy($im);
//Выводим файл по центру.
echo("<p align=center><img src=$file></p>");
?>
Задание 3: залить картинку радиальной градиентной заливкой.
Решение:
<?php
//Определяем размеры картинки.
$imgw=400;
$imgh=400;
//Создаём картинку.
$im=imagecreate($imgw,$imgh);
//Задаём начальный и конечный цвет градиента.
$start="99CCFF";
$final="0000ff";
//Преобразуем 16-ричное представление в десятичное.
$reds=$start[0].$start[1];
$greens=$start[2].$start[3];
$blues=$start[4].$start[5];
$reds=hexdec($reds);
$greens=hexdec($greens);
$blues=hexdec($blues);
$redf=$final[0].$final[1];
$greenf=$final[2].$final[3];
$bluef=$final[4].$final[5];
$redf=hexdec($redf);
$greenf=hexdec($greenf);
$bluef=hexdec($bluef);
//Определяем диагональ картинки.
//$diag=sqrt($imgw*$imgw+$imgh*$imgh);
//Расчёт коэффициентов скорости изменения цвета.
$koefr=($redf-$reds)/$imgw;
$koefg=($greenf-$greens)/$imgw;
$koefb=($bluef-$blues)/$imgw;
//Определяем центр градиента.
$X_center=$imgw/2;
$Y_center=$imgh/2;
$col=imagecolorallocate($im,255,255,255);
//Рисуем круги.
$K=2; - некоторый коэффициент, учитывающий,
что круги при прорисовке накладываются друг на друга.
for($i=1; $i<=$imgw/$K; $i++)
{
$gradr=$koefr*$i*$K+$reds;
$gradg=$koefg*$i*$K+$greens;
$gradb=$koefb*$i*$K+$blues;
$col=imagecolorallocate($im,$gradr,$gradg,$gradb);
imagearc($im,$X_center,$Y_center,$K*$i,$K*$i,0,0,$col);
}
//Создаём файл картинки.
if($K<10) $file="00".$K.".jpeg";
elseif($K<100) $file="0".$K.".jpeg";
else $file=$K.".jpeg";
imagejpeg($im,$file);
//Разрушаем картинку.
imagedestroy($im);
//Выводим файл по центру.
echo(" <p align=center><img src=$file></p>");
?>
Задание 4: вывести текст 'Hello, world' в картинку внешним TTF- и встроенным шрифтом.
Решение:
<?php
//Определяем размеры картинки.
$imgw=300;
$imgh=200;
//Создаём картинку.
$im=imagecreate($imgw,$imgh);
//Задаём цвета фона и текста.
$bgcolor=imagecolorallocate($im,255,255,255);
$textcolor=imagecolorallocate($im,0,0,0);
//Определяем текст.
$text="Hello, world!";
//Определяем размер букв.
$size=40;
//Определяем угол вывода текста.
$angle=0;
//Определяем местоположение внешнего шрифта.
$font="corsiva.ttf";
//Определяем положение текста.
$X=32;
$Y=100;
//Выводим текст внешним шрифтом.
imagettftext($im,$size,$angle,$X,$Y,$textcolor,"corsiva.ttf",$text);
//Выводим текст встроенным шрифтом.
imagestring($im,5,$X,$Y+30,$text,$textcolor);
//Создаём файл катинки.
$file="image.jpeg";
imagejpeg($im,$file);
//Уничтожаем картинку.
imagedestroy($im);
echo("<p align=center><img src=$file></p>");
?>
Задание 5: вывести текст из предыдущего задания под произвольным углом.
Решение:
В тексте предыдущего скрипта изменить строчку $angle=0 на $angle=rand(0,360);
Так угол текста будет задаваться случайным числом на отрезке от 0 до 360.
Так как для встроенного шрифта угол наклона задать нельзя, то строчку imagestring($im,5,$X,$Y+30,$text,$textcolor); придётся удалить. >-(
Задание 6: скопировать в картинку часть из другой картинки.
Решение:
<?php
//Определяем размеры картинки.
$imgw=300;
$imgh=200;
//Создаём картинку.
$im_to=imagecreate($imgw,$imgh);
//Вводим исходную картинку.
$im_from=imagecreatefromjpeg("source.jpg");
//Определение параметров копирования.
//Координаты левого верхнего угла участка копирования.
$from_x=0; $from_y=0;
//Размеры участка копирования.
$from_w=119; $from_h=49;
//Координаты левого верхнего угла участка вставки.
$to_x=0; $to_y=$imgh/4;
//Размеры участка вставки.
$to_w=$imgw; $to_h=$imgh/2;
imagecopyresized($im_to,$im_from,$to_x,$to_y,$from_x,$from_y,$to_w,$to_h,$from_w,$from_h);
//Создаём файл картинки.
$file="image.jpeg";
imagejpeg($im_to,$file);
//Разрушаем картинку.
imagedestroy($im_to);
imagedestroy($im_from);
//Выводим файл по центру.
echo("<p align=center><img src=$file></p>");
?>
Задание 7: нарисовать график функции у = f(x).
Решение:
<?php
//Определяем функции.
function f1($x)
{
return 50*sin(0.1*$x-40);
}
function f2($x)
{
return 60*cos(0.05*$x+60)+120;
}
function f3($x)
{
return 0.1*$x*$x-50;
}
function f4($x)
{
return exp($x*0.015)-60;
}
//Определяем размеры картинки.
$imgw=500; $imgh=400;
//Создаём картинку.
$im=imagecreate($imgw,$imgh);
//Задаём цвет картинки, осей и графика.
$bgcolor=imagecolorallocate($im,255,255,255);
$axe_color=imagecolorallocate($im,0,0,0);
$graph_color1=imagecolorallocate($im,255,0,0);
$graph_color2=imagecolorallocate($im,0,255,0);
$graph_color3=imagecolorallocate($im,0,0,255);
$graph_color4=imagecolorallocate($im,255,0,255);
//Определяем параметры осей координат.
$x_left=50; $x_width=400;
$y_top=50; $y_height=200;
//Строим ось X и Y.
imageline($im,$x_left,$y_height+$y_top,$x_left+$x_width,$y_height+$y_top,$axe_color);
imageline($im,$x_left,$y_height+$y_top,$x_left,$y_top,$axe_color);
//Обозначаем оси.
imagestring($im,5,$x_left+$x_width+5,$y_top+$y_height-7,"X",$axe_color);
imagestring($im,5,$x_left-4,$y_top-19,"Y",$axe_color);
imagestring($im,5,$x_left-7,$y_top+$y_height,"0",$axe_color);
for($i=0; $i<=$x_width; $i++)
{
$result=f1($i);
imagesetpixel($im,$i+$x_left,$y_top+$y_height-$result,$graph_color1);
$result=f2($i);
imagesetpixel($im,$i+$x_left,$y_top+$y_height-$result,$graph_color2);
$result=f3($i);
imagesetpixel($im,$i+$x_left,$y_top+$y_height-$result,$graph_color3);
$result=f4($i);
imagesetpixel($im,$i+$x_left,$y_top+$y_height-$result,$graph_color4);
}
//Рисуем рамку графика.
imageline($im,0,0,$imgw-1,0,$axe_color);
imageline($im,$imgw-1,0,$imgw-1,$imgh-1,$axe_color);
imageline($im,$imgw-1,$imgh-1,0,$imgh-1,$axe_color);
imageline($im,0,$imgh-1,0,0,$axe_color);
//Сохраняем картину в файл.
$file="image.jpeg";
imagejpeg($im,$file);
echo("<p align=center><img src=$file></p>");
?>
Контрольное задание: создать баннер, выводящий информацию о количестве посещений странички, имеющий заливкой градиентную заливку со случайным начальным цветом, украшенный какой-либо картинкой либо частью картинки или нескольких картинок, смайликами и пр. У меня на форуме, например, стоит такой банер. Только без смайликов пока. >;) И с встроенным шрифтом. Но с каёмочкой...
P.$. Если Вы найдёте более интересные примеры по php_gd, то настоятельно прошу сообщить мне об этом для повышения общего, так сказать, образования.
Вечно Ваш ~=]DS[=~
(под редакцией ведущего рассылки)
admin@dsiss.fatal.ru
http://ds.823.pp.ru
ICQ: 256732889
- афоризм.
Предисловие от ведущего рассылки
PHP. Расширение php_gd2.
Итак, я надеюсь, что вам знакома аббревиатура PHP, иначе этот текст читать, по-моему, бесполезно. А для чего же предназначен модуль php_gd? Для создания png- или gif-картинок, друг мой [в зависимости от поставки gd; вроде бы даже существует модуль с поддержкой обоих форматов], а также jpeg-изображений, поддерживаемых всеми версиями gd. Особо это полезно, когда вы хотите украсить вашу страничку каким-то динамически обновляющимся рисунком. Ну, например, баннером, выводящим размер сайта или отдельных страничек или даже папки сайта. Короче, придумаете что-нибудь. Можно даже просто строить графики различных функций прямо на сервере и пр. ;Windows Extensions ;extension=php_mysql.dll ;extension=php_nsmail.dll ;extension=php_calendar.dll ;extension=php_dbase.dll ;extension=php_filepro.dll ;extension=php_gd.dll ;extension=php_dbm.dll ;extension=php_mssql.dll ;extension=php_zlib.dll ;extension=php_filepro.dll ;extension=php_imap4r2.dll ;extension=php_ldap.dll ;extension=php_crypt.dll ;extension=php_msql2.dll ;extension=php_odbc.dll То есть у меня подключены расширения ‘php_mysql’ и ‘php_gd’. Замечание: если вы впервые работаете в PHP, установите значение переменной ‘Register_globals’ в состояние On, иначе вы не сможете передавать переменные через PHP-странички [ради чего мы вообще-то и установили его ;)]. Итак, если вы всё сделали правильно [проверочные примеры смотрите в соответствующих пособиях], то можно начинать. Прежде чем приступить к изучению gd, определим версию подключённой Вами библиотеки и все её функции, которые можно использовать в PHP. Для этого создадим страничку ‘gd_info.php’, содержащей следующий код: <?php echo("<h2><p align=center>Detecting all PHP extensions and their functions</p></h2>"); $i=get_loaded_extensions(); foreach($i as $ext) { echo("<hr><h3><p align=center>Extension [$ext]</p></h3>"); $j=get_extension_funcs($ext); print_r($j); } ?> Запустим Internet Explorer и в адресной строке напишем адрес нашего гениального творения: http://localhost/gd_info.php. Данный скрипт выведет нам все функции подключённых и встроенных расширений PHP. Чтобы получить информацию лишь о функциях gd измените скрипт следующим образом: <?php echo("<h3><p align=center>Extension php_gd</p></h3>"); $j=get_extension_funcs("gd"); print_r($j); ?> В моей версии php_gd в наличии 81 функция. Array ( [0] => gd_info [1] => imagearc . . . [81] => imagecolormatch ) Итак, от теории – к практике! Задание 1: провести прямую из точки А с координатами (x1, y1) в точку Б с координатами (x2, y2). Решение: <?php //Определяем размеры картинки. $imgw=300; $imgh=200; //Создаём картинку. $im=imagecreate($imgw,$imgh); //Определяем координаты точки А и Б. $Ax=30; $Ay=30; $Bx=270; $By=170; //Определяем цвет фона. $bgcolor=imagecolorallocate($im,255,255,255); //Определяем цвет линии. $line_color=imagecolorallocate($im,255,0,0); //Проводим линию. imageline($im,$Ax,$Ay,$Bx,$By,$line_color); //Создаём файл картинки. $file="image.jpeg"; imagejpeg($im, $file); echo("<p align=center><img src=$file></p>"); imagedestroy($im); ?> Задание 2: залить картинку линейной градиентной заливкой. Решение: <?php //Определяем размеры картинки. $imgw=300; $imgh=200; //Создаём картинку. $im=imagecreate($imgw,$imgh); //Задаём начальный и конечный цвет градиента. $start="000000"; $final="FFFFFF"; $reds=$start[0].$start[1]; $greens=$start[2].$start[3]; $blues=$start[4].$start[5]; $reds=hexdec($reds); $greens=hexdec($greens); $blues=hexdec($blues); $redf=$final[0].$final[1]; $greenf=$final[2].$final[3]; $bluef=$final[4].$final[5]; $redf=hexdec($redf); $greenf=hexdec($greenf); $bluef=hexdec($bluef); $koefr=($redf-$reds+1)/$imgh; $koefg=($greenf-$greens+1)/$imgh; $koefb=($bluef-$blues+1)/$imgh; //Рисуем линии. for($i=0;$i<=$imgh;$i++) { $gradr=$koefr*$i+$reds; $gradg=$koefg*$i+$greens; $gradb=$koefb*$i+$blues; $col=imagecolorallocate($im,$gradr,$gradg,$gradb); imageline($im,0,$i,$imgw,$i,$col); } //Создаём файл картинки. $file="image.jpeg"; imagejpeg($im,$file); //Разрушаем картинку. imagedestroy($im); //Выводим файл по центру. echo("<p align=center><img src=$file></p>"); ?> Задание 3: залить картинку радиальной градиентной заливкой. Решение: <?php //Определяем размеры картинки. $imgw=400; $imgh=400; //Создаём картинку. $im=imagecreate($imgw,$imgh); //Задаём начальный и конечный цвет градиента. $start="99CCFF"; $final="0000ff"; //Преобразуем 16-ричное представление в десятичное. $reds=$start[0].$start[1]; $greens=$start[2].$start[3]; $blues=$start[4].$start[5]; $reds=hexdec($reds); $greens=hexdec($greens); $blues=hexdec($blues); $redf=$final[0].$final[1]; $greenf=$final[2].$final[3]; $bluef=$final[4].$final[5]; $redf=hexdec($redf); $greenf=hexdec($greenf); $bluef=hexdec($bluef); //Определяем диагональ картинки. //$diag=sqrt($imgw*$imgw+$imgh*$imgh); //Расчёт коэффициентов скорости изменения цвета. $koefr=($redf-$reds)/$imgw; $koefg=($greenf-$greens)/$imgw; $koefb=($bluef-$blues)/$imgw; //Определяем центр градиента. $X_center=$imgw/2; $Y_center=$imgh/2; $col=imagecolorallocate($im,255,255,255); //Рисуем круги. $K=2; - некоторый коэффициент, учитывающий, что круги при прорисовке накладываются друг на друга. for($i=1; $i<=$imgw/$K; $i++) { $gradr=$koefr*$i*$K+$reds; $gradg=$koefg*$i*$K+$greens; $gradb=$koefb*$i*$K+$blues; $col=imagecolorallocate($im,$gradr,$gradg,$gradb); imagearc($im,$X_center,$Y_center,$K*$i,$K*$i,0,0,$col); } //Создаём файл картинки. if($K<10) $file="00".$K.".jpeg"; elseif($K<100) $file="0".$K.".jpeg"; else $file=$K.".jpeg"; imagejpeg($im,$file); //Разрушаем картинку. imagedestroy($im); //Выводим файл по центру. echo(" <p align=center><img src=$file></p>"); ?> Задание 4: вывести текст 'Hello, world' в картинку внешним TTF- и встроенным шрифтом. Решение: <?php //Определяем размеры картинки. $imgw=300; $imgh=200; //Создаём картинку. $im=imagecreate($imgw,$imgh); //Задаём цвета фона и текста. $bgcolor=imagecolorallocate($im,255,255,255); $textcolor=imagecolorallocate($im,0,0,0); //Определяем текст. $text="Hello, world!"; //Определяем размер букв. $size=40; //Определяем угол вывода текста. $angle=0; //Определяем местоположение внешнего шрифта. $font="corsiva.ttf"; //Определяем положение текста. $X=32; $Y=100; //Выводим текст внешним шрифтом. imagettftext($im,$size,$angle,$X,$Y,$textcolor,"corsiva.ttf",$text); //Выводим текст встроенным шрифтом. imagestring($im,5,$X,$Y+30,$text,$textcolor); //Создаём файл катинки. $file="image.jpeg"; imagejpeg($im,$file); //Уничтожаем картинку. imagedestroy($im); echo("<p align=center><img src=$file></p>"); ?> Задание 5: вывести текст из предыдущего задания под произвольным углом. Решение: В тексте предыдущего скрипта изменить строчку $angle=0 на $angle=rand(0,360); Так угол текста будет задаваться случайным числом на отрезке от 0 до 360. Так как для встроенного шрифта угол наклона задать нельзя, то строчку imagestring($im,5,$X,$Y+30,$text,$textcolor); придётся удалить. >-( Задание 6: скопировать в картинку часть из другой картинки. Решение: <?php //Определяем размеры картинки. $imgw=300; $imgh=200; //Создаём картинку. $im_to=imagecreate($imgw,$imgh); //Вводим исходную картинку. $im_from=imagecreatefromjpeg("source.jpg"); //Определение параметров копирования. //Координаты левого верхнего угла участка копирования. $from_x=0; $from_y=0; //Размеры участка копирования. $from_w=119; $from_h=49; //Координаты левого верхнего угла участка вставки. $to_x=0; $to_y=$imgh/4; //Размеры участка вставки. $to_w=$imgw; $to_h=$imgh/2; imagecopyresized($im_to,$im_from,$to_x,$to_y,$from_x,$from_y,$to_w,$to_h,$from_w,$from_h); //Создаём файл картинки. $file="image.jpeg"; imagejpeg($im_to,$file); //Разрушаем картинку. imagedestroy($im_to); imagedestroy($im_from); //Выводим файл по центру. echo("<p align=center><img src=$file></p>"); ?> Задание 7: нарисовать график функции у = f(x). Решение: <?php //Определяем функции. function f1($x) { return 50*sin(0.1*$x-40); } function f2($x) { return 60*cos(0.05*$x+60)+120; } function f3($x) { return 0.1*$x*$x-50; } function f4($x) { return exp($x*0.015)-60; } //Определяем размеры картинки. $imgw=500; $imgh=400; //Создаём картинку. $im=imagecreate($imgw,$imgh); //Задаём цвет картинки, осей и графика. $bgcolor=imagecolorallocate($im,255,255,255); $axe_color=imagecolorallocate($im,0,0,0); $graph_color1=imagecolorallocate($im,255,0,0); $graph_color2=imagecolorallocate($im,0,255,0); $graph_color3=imagecolorallocate($im,0,0,255); $graph_color4=imagecolorallocate($im,255,0,255); //Определяем параметры осей координат. $x_left=50; $x_width=400; $y_top=50; $y_height=200; //Строим ось X и Y. imageline($im,$x_left,$y_height+$y_top,$x_left+$x_width,$y_height+$y_top,$axe_color); imageline($im,$x_left,$y_height+$y_top,$x_left,$y_top,$axe_color); //Обозначаем оси. imagestring($im,5,$x_left+$x_width+5,$y_top+$y_height-7,"X",$axe_color); imagestring($im,5,$x_left-4,$y_top-19,"Y",$axe_color); imagestring($im,5,$x_left-7,$y_top+$y_height,"0",$axe_color); for($i=0; $i<=$x_width; $i++) { $result=f1($i); imagesetpixel($im,$i+$x_left,$y_top+$y_height-$result,$graph_color1); $result=f2($i); imagesetpixel($im,$i+$x_left,$y_top+$y_height-$result,$graph_color2); $result=f3($i); imagesetpixel($im,$i+$x_left,$y_top+$y_height-$result,$graph_color3); $result=f4($i); imagesetpixel($im,$i+$x_left,$y_top+$y_height-$result,$graph_color4); } //Рисуем рамку графика. imageline($im,0,0,$imgw-1,0,$axe_color); imageline($im,$imgw-1,0,$imgw-1,$imgh-1,$axe_color); imageline($im,$imgw-1,$imgh-1,0,$imgh-1,$axe_color); imageline($im,0,$imgh-1,0,0,$axe_color); //Сохраняем картину в файл. $file="image.jpeg"; imagejpeg($im,$file); echo("<p align=center><img src=$file></p>"); ?> Контрольное задание: создать баннер, выводящий информацию о количестве посещений странички, имеющий заливкой градиентную заливку со случайным начальным цветом, украшенный какой-либо картинкой либо частью картинки или нескольких картинок, смайликами и пр. У меня на форуме, например, стоит такой банер. Только без смайликов пока. >;) И с встроенным шрифтом. Но с каёмочкой... P.$. Если Вы найдёте более интересные примеры по php_gd, то настоятельно прошу сообщить мне об этом для повышения общего, так сказать, образования.
Вечно Ваш ~=]DS[=~ |
Ведущий рассылки:
Набатников Иван
urisff@inbox.ru
http://newff.narod.ru
ICQ: 199434949
http://subscribe.ru/
http://subscribe.ru/feedback/ |
Подписан адрес: Код этой рассылки: comp.soft.prog.urisprog |
Отписаться |
В избранное | ||