Цветове и текст в GD Library
08-11-2009
Предишният урок:
Създаване на изображение с GD Library

В този урок ще разгледаме как се създава цвят и как да пишем текст.
Всеки цвят, който се използва в изображението, трябва да бъде създаден от една от следните 2 функции:

1. imageColorAllocate(img_resource, red, green, blue)
Функцията връща цвят, представен от стойностите за червено, зелено и синьо.
Стойностите на трите параметъра:
img_resource - тук се пише променливата, в която пазим ресурса на изображението, създадено с една от функциите, описани в предния урок
red - стойност за червеното (цяло число от 0 до 255)
green - стойност за зеленото (цяло число от 0 до 255)
blue - стойност за синьото (цяло число от 0 до 255)

2. imageColorAllocateAlpha(img_resource, red, green, blue, alpha)
Върши същото като горната функция, но добавя и четвърти аргумент - alpha. Той определя стойността за прозрачност на цвета (цяло число от 0 до 127)

Това бяха функциите за създаване на цвят. Всеки цвят, който се използва в следващите функции, е създеден по този начин.

Преди да видим две от функциите за създаване на текст ще се спрем на една функция, която запълва фона с различен цвят. Така ше можем да създаваме изображение с цвят, различен от черно.

imageFill(img_resource, start_x, start_y, color)
Функцията запълва изображението с цвят, използвайки кординатите start_x и start_y за начало.
Стойностите на четирите параметъра:
img_resource - тук се пише променливата, в която пазим ресурса на изображението, създадено с една от функциите, описани в предния урок
start_x - x координата на началната точка
start_y - y координата на началната точка
color - цветът, създаден с една от двете функции (1. или 2.)

Има няколко различни функции за писане на текст, но аз ще се спра само на две от тях в този урок. Другите можете да ги намерите в php.net

1. imageString(img_resource, font_size, upper_x, upper_y, text, color)
Тази функция изписва текст, започвайки от зададените координати и използвайки зададения цвят.
Стойностите на шестте параметъра:
img_resource - тук се пише променливата, в която пазим ресурса на изображението, създадено с една от функциите, описани в предния урок
font_size - за вградените шрифтове може да бъде цяло число от 0 до 5
upper_x - x координатата на горния ляв ъгъл, от който ще започва изписването на текста
upper_y - y координатата на горния ляв ъгъл, от който ще започва изписването на текста
text - текстът
color - цветът, създаден с една от двете функции (1. или 2.)

2. imageTtfText(img_resource, font_size, font_angle, lower_x, lower_y, color, font_file, text)
Функцията изписва текст, но с малко повече функции.
Стойностите на осемте параметъра:
img_resource - тук се пише променливата, в която пазим ресурса на изображението, създадено с една от функциите, описани в предния урок
font_size - число за големината на шрифта
font_angle - ъгъл на наклона на текста.
lower_x - x координатата на долния ляв ъгъл, от който ще започва изписването на текста
lower_y - y координатата на долния ляв ъгъл, от който ще започва изписването на текста
color - цветът, създаден с една от двете функции (1. или 2.)
font_file - пътят до файла на шрифта
text - текстът

Примерният код от видео урока:

<?php
header("Content-type: image/jpg");

$image = imagecreatetrucolor(300, 200);
$font = "font/verdana.ttf";
$red = imagecolorallocate($image, 255, 0, 0);
$blue = imagecolorallocate($image, 0, 0, 255);
$black = imagecolorallocate($image, 0, 0, 0);
imagefill($image, 0, 0, $red);
$font_size1 = 5;
$upper_x = 50;
$upper_y = 10;

$font_size2 = 20;
$font_angle = 0;
$lower_x = 50;
$lower_y = 50;
imagestring($image, $font_size1, $upper_x, $upper_y, "text", $black);
imagettftext($image, $font_size2, $font_angle, $lower_x, $lower_y, $blue, $font, "text");

imagejpeg($image);
imagedestroy($image);
?>


Файлове за сваляне
Файлове за сваляне - линк 1
Файлове за сваляне - линк 2
Файлове за сваляне - линк 3

Прочетете и следващия урок за Основни форми в GD Library



/ Трябва да сте регистриран за да напишете коментар /
От: emagi
10:46 09-11-2009
Много добра поредица от уроци!
Поздравления
От: bama
20:57 01-05-2010
Нямо кино ?
1