Помогни ни да направим Uroci.net по - богат! Добави урок

PHP - част 13 (Създаване на изображения)

PHP » PHP
fix3d   трудност:    видян: 12297



Записване на изображение във файл

Единствената информация, която ви е необходима за записване на изображението във файл, е идентификаторът на изображението. Това е така, защото идентификатора съдържа местоположението на платно в паметта. Можете да използвате една от функциите ImageJPEG(), ImageGIF или ImagePNG(), в зависимост от това във какъв формат искате да съхраните изображението. Можете да зададете още два параметъра на тези функции. Първият от рях е името на файла, а вторият е нивото на качеството на изображението. Тази стойност може да бъде от -1 до 100. Стойността 0 ще доведе до запазване на изображението с възможно най-ниска стойност.

От друга страна файла, създаден със стойност 100, ще има страхотно качество, но няма да е подходящо за използване в Web поради големите си размери. Поради тази причина определянето на качеството на едно изображение е балансиране между размера на файла и качеството на изображението.


Функцията ImageGIF()

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

$intvar = ImageGIF( int изображение [, string име на файл ] )

В горния синтаксис параметърът изображение е върната стойност от функцията. Функцията записва изображението, като използва името, предадено, чрез незадължителния параметър име на файл . Ако този параметър не е зададен, GIF изображението, се изобразява направо в браузъра.

Форматът по подразбиране на изображението е GIF87a, освен, ако сте направили изображението прозрачно чрез функцията ImageColorTransparent(), в който случай, изображението ще се запише във формата GIF89a.


Функцията ImagePNG()

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

$intvar = ImagePNG( int изображение [, string име на файл ] )

Подобно на функцията ImageGIF(), тази функция създава PNG изображение от идентификатора на изображение, предадено като първи параметър. Функцията записва изображението във файл с име, предадено, чрез незадължителния параметър име на файл. Ако този параметър не е зададен, PNG изображението, се изобразява направо в браузъра.


Функцията ImageJPG()

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

$intvar = ImageJPG( int изображение [, string име на файл ] )

В горния синтаксис параметърът изображение е върната стойност от функцията. Функцията записва изображението, като използва името, предадено, чрез незадължителния параметър име на файл . Ако този параметър не е зададен, jpg изображението, се изобразява направо в браузъра.

След като сте показали изображението във браузъра, или сте го запаметили във файл, трябва да освободите паметта, използвана за съхраняване на информацията за изображението. За целта трябва да използвате функция ImgeDestroy().


Унищожаване на изображение

След като свършите работата си с изображението и сте го запазили във файл, или сте го изобразили във браузъра, можете да го унищожите. Функцията ImageDestriy() премахва от паметта информацията, свързана с изображението. Функцията има следния синтаксис:

$intvar = ImageDestroy( int изображение )

Параметърът изображение е идентификатор на изображение, върнат от функцията ImageCreate().


Функцията ImageCopy()

Тази функция се използва за копиране на част от изображението. Функцията има следния синтаксис:

$intvar = ImageCopy ( resourse изображение цел, resource изображение източник, int цел x, int цел y, int източник х, int източник у, int източник ширина, int източник височина )

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


Функцията GetImageSize()

Можете да използвате тази функция за да определите размера на изображението във файл. Функцията, също така връща типа на файла, който може да е JPEG, GIF, SWF или PNG. Можете също така да извлечете ширината и височината на изображението, който могат да бъдат използвани по-късно в HTML етикета IMG. Синтаксисът на функцията е:

$arrvariable = getimagesize ( string име на файл [, array информация ] )

Функцията връща информацията под формата на масив с четири елемента. Елементите съдържат6 информация в следната последователност: ширина, височина, тип на изображението и низ. Ширината и височината се изчисляват в пиксели. Типът на изображението е 1 за GIF, 2 – за JPG, 3 – за PNG и 4 – за SWF. Низът съдържа ширина и височина, форматирани подходящо за използване на етикета IMG.

SWF е формата, използван за Flash файлове.


Работа с пиксели

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

Функцията imageSetPixel()

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

$intvar = ImageSetPixel ( int изображение, int X, Int Y, int цвят)

Нека да създадем един простичък скрипт и да използваме горната функция, за да променим цвета на един пиксел.


<html>
<body>
<?php
$img = ImageCrate ( 200, 200 );
$bgcolor = ImageColorAllocate ( $img, 200, 200, 200 ) ;
$pixelcolor = ImagecolorAllocate ( $img, 255, 0, 0);
ImagePng ( $img, „ pic.png „ );
ImageDestroy ( $img ) ;
?>
<img title="óðîöè îò uroci.com" src=“pic.png“ border=“0“ >
</body>
</html>


Функцията ImageColorAt()

Тази функция се използва за получаване на индекса на цвета на даден пиксел. Синтаксисът на функцията е следния:

$intvar = ImageColorAt ( int изображение, int X, int Y )

Трябва да използвате функцията ImageColorAt(), ако искате да разберете индекса на цвета за пиксела с координати X и Y в изображението с идентификатор изображение.

Преди да започнете да създавате изображение, трябва първо да зададете цвета на изображението.


Страници: «1 2 3 4 5 »

Коментари (3)

nasko84 на 05.05 2007 в 17:28ч.
Не знам точно какво трябва да поправя, но въобще не ги възприема като кирилица.
Явно 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, спешно ми е ...
nasko84 на 05.05 2007 в 19:40ч.
хе-хе
реших си проблема
$ulica=iconv('cp1251','UTF-8',$ulica);
и готово
:)
nasko84 на 08.05 2007 в 22:17ч.
Здравейте, пак!
Имам следният въпрос: Искам да изчертая текст, с imagettftext($image,8,0,...
и съответно искам да го изпиша на равни растояния от $x (симетрично), обаче как да разбера колко пиксела ширина е шрифта, щото явно това 8 не е, а за функцията $intvar = ImageFontWidth ( int шрифт ), обаче откъде да знам шрифта кой номер е, аз използвам Verdana.ttf, или Arial.ttf
pls ако някой се сети, да пише :Р

Регистрирайте се, за да добавите коментар


Калдейта ЕООД - © 2003-2010. Всички права запазени.
Препоръчваме: Национален Бизнес | Bomba.bg | IT Новини | Диплома.бг | TRAVEL туризъм | Реферати | AmAm.bg | Иде.ли | Курсови работи | Фото Форум | Spodeli.net | Фото-Култ | Atol.bg | Elmaz.com | MobileBulgaria.com | Казанлък.Com