Цветове и текст в GD Library
Автор: adrian
Предишният урок:
Създаване на изображение с GD Library
В този урок ще разгледаме как се създава цвят и как да пишем текст.
Всеки цвят, който се използва в изображението, трябва да бъде създаден от една от следните 2 функции:
- imageColorAllocate(img_resource, red, green, blue)
Функцията връща цвят, представен от стойностите за червено, зелено и синьо.
Стойностите на трите параметъра:
img_resource – тук се пише променливата, в която пазим ресурса на изображението, създадено с една от функциите, описани в предния урок
red – стойност за червеното (цяло число от 0 до 255)
green – стойност за зеленото (цяло число от 0 до 255)
blue – стойност за синьото (цяло число от 0 до 255) - 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
- 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.) - 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);
?>

