Задаване на цветове на
изображения
Можете да създавате изображения от различни типове
цветове в PHP. Но тези цветове не съществуват по подразбиране в PHP. Това, което
имам предвид, е, че тези цветове не са предварително дефинирани, вместо това
трябва да създадете цвета, преди да можете да го използвате. За целта трябва да
използвате функцията ImageColorAllocate(). В следващите редове, ще видите как
може да създадете основните цветове – червен, зелен и син. Тези цветове са
основни в цветовия модел RGB и всички други цветове са техни
комбинации.
// Червено
$red = ImageColorAllocate($imgcord, 255, 0,
0);
// Зелено
$green= ImageColorAllocate($imgcord, 0, 255,
0);
// Синьо
$blue = ImageColorAllocate($imgcord, 0, 0,
255);
// Бяло
$blue = ImageColorAllocate($imgcord, 255, 255,
255);
// Черно
$blue = ImageColorAllocate($imgcord, 0, 0,
0);
RGB моделът е стандарт за създаване на цветове. Цветът се състои
от комбинация на трите основни цвята- червено, зелено и синьо. Всеки от тези
цветове съдържа стойности в интервала от 0 до 255.
Първият параметър на
функцията е идентификатор на изображението. Следващите три параметъра са
цветовата комбинация. Ако всички три параметъра имат стойности 255, създавате
бял цвят, а ако всички стойности са 0 – черен. Както можете да видите, всеки
създаден цвят се съхранява в отделна променлива. Можете да използвате тези
променливи, за да създадете изображение с конкретен цвят.
Функцията
ImageFill()
До сега използвахме най-основните обекти като празни
изображения без цвят. Но вие може да запълвате изображение с даден цвят с
помощта на функцията ImageFill(). Тази функция има четири параметъра:
идентификатора на изображение, двете координати, от където да започва
запълването и цвета. Синтаксисът на функцията е следния:
$intvar =
ImageFill( int изображение, int X, int Y, int цвят)
Например, ако
координатите са 0, 0 запълването ще започне от горния ляв ъгъл на платното.
По-долу можете да видите пример, как можете да запълните изображение с даден
цвят.
<?php $imgcord = imagecreate ( 255, 255 ); $blue = ImageColorAllocate($imgcord, 255, 255, 255); $red = ImageColorAllocate($imgcord, 255, 0, 0); ImageRectangle ( $imgcord, 175, 165, 200, 255, $blue ); ImageFill( $imgcord, 0, 0, $red ); Imagestring ( $imgcord, 3, 170, 220, „Добре дошли в www4u.search.bg „, $blue); $imagePng ( $imgcord ); ImageDestroy ($imgcord); ?> |
<html> <body> <?php $img = ImageCreate ( 300, 300 ); $bgcolor = ImageColorAllocate ( $img, 200, 200, 200 ); $red = ImageColorAllocate ( $img, 255, 0, 0 ); $green = ImageColorAllocate ( $img, 0, 255, 0 ); $blue = ImageColorAllocate ( $img, 0, 0, 255 ); $grey = ImageColorAllocate ( $img, 50, 50, 50 ); $black = ImageColorAllocate ( $img, 0, 0, 0 ); ImageString = ( $img, 0, 20, 20, „ Line 1“, $red ); ImageString = ( $img, 0, 20, 40, „ Line 2“, $green ); ImageString = ( $img, 0, 20, 60, „ Line 3“, $blue ); ImageString = ( $img, 0, 20, 80, „ Line 4“, $grey ); ImageString = ( $img, 0, 20, 100, „ Line 5“, $black ); ImageString = ( $img, 0, 20, 120, „ Line 6“, $red ); ImageStringUp = ( $img, 0, 50, 200, „ Line 1“, $red ); ImageStringUp = ( $img, 1, 100, 200, „ Line 2“, $green ); ImageStringUp = ( $img, 2, 150, 200, „ Line 3“, $blue ); ImageStringUp = ( $img, 3, 200, 200, „ Line 4“, $grey ); ImageStringUp = ( $img, 4, 250, 200, „ Line 5“, $black ); ImageStringUp = ( $img, 5, 300, 200, „ Line 6“, $red ); ImageSetPixel ( $img, 50, 50, $pixelcolor ); ImagePNG ( $img, „pic.png“ ); ImageDestroy ( $img ); ?> <img title="óðîöè îò uroci.com" src=“pic.png“ border=“0“> </body> </html> |
Явно mysql_query("SET NAMES cp1251",$db); тук не действа :(
Ето какво правя аз:
//изчертавам правоъгълник с окръжности в края
imagefilledpolygon($image,$massiv,4,$farbe);
drawPoint($image,$pix,$x1,$y1,$farbe);
//функцията drawPoint не съм я писал аз
function drawPoint($img, $radius, $origo_x, $origo_y, $pointColor)
{
for ($i=0;$i в променливата $ulica е името на дадена улица взето от базата данни
Хайде, ако има някой, който може да ми каже как да изписвам на кирилица текст чрез тази библиотека да ми каже.
Използвал съм imagettftext тъй като ми трябва да го изпиша под ъгъл, отделен въпрос е, че не мога да си настроя и това под какъв ъгъл и спрямо коя точка да изписвам.
Пишете ми pls, спешно ми е ...