Всичко в нашия уебсайт - да украсяват собствените си страници. Сега ние се опитваме да събере интересни и полезни материали за проектиране и okolodizaynerskie теми за програмиране, хостинг и популяризиране на сайта.
Web-дизайн - въпроси, пряко свързани със създаването на уеб сайтове
Графика - равен, kollazhiruem, анимиране
Хостинг - Въпроси, които пускат вашите сайтове в мрежата
Животът в мрежата
Промоция, промоция, оптимизация
програмиране
За създаването и манипулирането на различни графични формати JPEG, PNG, TIFF, GIF, ще трябва gd_library библиотека. Започвайки от версия 4.3 PHP тази библиотека е изградена. Трябва да инсталирате или компилирате PHP с посочване --with-GD. За потребителите на Windows, трябва да посочите във вашия файл php.ini разширение разширение = php_gd2.dll.
Когато се работи с изображения на предприемача може да се нуждаят от подкрепа за допълнителни шрифтове и размери - има специален разширения GD библиотека, за да работи с формати GIF, XPM, както и други хора, както и за инсталирането на допълнителни шрифтове.
Помислете за основните функции, които ви позволяват да създавате, променяте и показва изображения в браузъра.
Функции за създаване на изображения от вече съществуващите:
Imagecreatefromgif (), imagecreatefrompng (), imagecreatefromjpeg () и други подобни, като като аргументи URL или пътя на файла с изображение се връща идентификатор, представляващ даден образ.
Например: $ образ = imagecreatefromgif ( "път / до / си / image.gif") връща идентификатора на image.gif на изображението, чрез които впоследствие могат да бъдат modiftsirovat изображение показва на неговия текст, да го комбинирате с други изображения. В случай на провал на изпълнението на този вид функция връща фалшиво, това е, проверка и процеса се провали може да бъде лесно, като тип на тест:
ако (! $ образ = @imagecreatefromgif ( "път / до / си / image.gif"))
// код, за да бъде изпълнена, ако изображението не е било
>
Функция, за да се създаде нов имидж:
Imagecreatetruecolor (), imagecreate () Създава празен изображение, като като параметър ширината и височината на образуваните изображението в пиксели. Така, ако в предишния пример, ние не може да създаде идентификацията на съществуващо изображение, ние можем да се създаде нов имидж.
ако (! $ образ = @imagecreatefromgif ( "път / до / си / image.gif"))
$ Изображение = imagecreatetruecolor (88, 31); // ако не образът е създаден въз основа на image.gif, ние създаваме нова размер на изображението от 88 до 31 пиксела
>
Възможности за цветята:
Imagecolorallocate () - приема като аргументи идентификатор на изображението и на трите компонента на желания цвят (RGB: червено, зелено и синьо компонент), определя точния цвят за изображението.
В нашия пример, ние определяме цвета на фона и шрифта за текста изход:
$ FONTCOLOR = imagecolorallocate ($ изображение, 0, 0, 0);
$ Backgroundcolor = imagecolorallocate ($ изображение, 255, 255, 255);
Изображение функция цвят на запълване:
Imagefill (), imagefilledrectangle (), imagefilledarch (), imagefilledellipse () и други imagefill ... функция приема като аргументи на координатите на геометрични фигури в картинката, да се представи за запълване на тези части на снимката определен цвят. Например, ние ще изпълним цвят pryamougolnik фон:
imagefill ($ образ, 0, 0, $ backgroundcolor); // тук 0 0 - координатите на горния ляв ъгъл на запълнени области.
Функции за рисуване текст:
Imagestring (), imagettftext (), imagestringup () изход на снимката в текста по различни начини, като се използват различни шрифтове.
Например,
imagestring ($ образ, 5, 0, 0, "текст", $ FONTCOLOR); // покаже текста дума на нашия имидж $ изображение вградени шрифтове, за да координатите (горния ляв точка) 0, 0.
В допълнение към вградените шрифтове може да се използва с препоръчано imageloadfont функция () шрифтове. imagettftext () функция ви позволява да използвате тип шрифтове вярно тип.
На този етап, може да имате проблем с оттеглянето на текста в руски - вградени шрифтове (за imagestring функция () 1-5 в зависимост от размера) не поддържат кирилица, и дори когато сте задали функцията си imagettftext шрифт (кирилица) може да бъде показана в неправилна кодиране.
Има няколко начина за решаване на този проблем. Най-лесно - да конвертирате низ с кирилица в UTF-8 кодиране:
$ Текст = изброяване ( "прозорци-1251", "UTF-8", "нашия текст");
Добавете специални ефекти:
Gd_library набор от функции ви позволяват да добавяте специални ефекти към текущото изображение да привлече нови обекти подчертават определени области, и така нататък това. Това са само няколко примера:
- imagedashedline () функция - насочва пунктирана линия;
- imageellipse () функция - обръща елипса;
- imagesetbrush () функция - създава четка;
- imagefilter () функция - приложили образа конкретен филтър, например, обръща цветовете в изображение, превръща изображението в черно-бял режим, промяна на яркостта, контрастно съотношение, добавете фаска и др.
Издаване на получения образ на потребителя:
Функции на изхода на формуляра imagegif (), imagepng (), imagejpeg () резултата в браузъра или файл. Не забравяйте, че Content-Type хедъра за тези скриптове трябва да бъдат предефинирани:
глава ( "Съдържание тип: изображение / GIF");
imagegif ($ изображение);
Ние трябва да завършим нашия пример за логичен извод. Да предположим, че нашата цел е да се създаде така наречената CAPTCHA (капитан), тоест, изображения, в които всеки път, когато страницата ще бъдат показани на нова поредица от знаци - например, chetyrhznachnoe номер.
// се опита да създаде изображение на CAPTCHA с някои "шумен" фон:
ако (! $ образ = @imagecreatefromgif ( "път / до / си / image.gif"))
// ако не образът е създаден въз основа на image.gif, ние създаваме нова размер на изображението от 88 до 31 пиксела
$ Изображение = imagecreatetruecolor (88, 31);
// определят цвета на фона:
$ Backgroundcolor = imagecolorallocate ($ изображение, 255, 255, 255);
// запълване на полученото изображение с избрания цвят:
imagefill ($ образ, 0, 0, $ backgroundcolor);
>
// определят цвета на шрифта:
$ FONTCOLOR = imagecolorallocate ($ изображение, 0, 0, 0);
// създаване на случайно четирицифрен номер:
$ Текст = mt_rand (1000-9999);
// покаже броя на картината:
imagestring ($ образ, 5, 0, 0, "текст", $ FONTCOLOR);
// и издаване доведе до потребителя:
глава ( "Съдържание тип: изображение / GIF");
imagegif ($ изображение);
Този скрипт може винаги да се усложни, например, добавяйки, ъгъл на наклона на етикета, сянка от номерата, чрез прилагане на филтри за полученото изображение.
Работа със снимки:
Разширяване Exif. Тя ви позволява да се работи с информацията, съхранявана в заглавията на цифрови снимки. За да работите с това разширение не е необходимо всички допълнителни библиотеки, PHP просто трябва да се инсталира с подкрепата --enable-Exif. За потребителите на Windows, във файла php.ini трябва да бъдат посочени разширение разширение = php_mbstring.dll и разширение = php_exif.dll, първо трябва да се посочи кога, че mbstring.
функция exif_imagetype () приема като аргумент пътя до файла ви позволява да определите формата на картината. Това е необходимо, за да не се използват и останалите функции Exif до изображения в неподдържани формати. Формат на снимката за по-нататъшна работа с тези функции трябва да е във формат GIF, JPEG, PNG, SWF, PSD, BMP, tiff_II, tiff_MM, JPC, JP2, jpx, jb2, SWC, тогава и само тогава, WBMP, XBM.
exif_read_data () функция чете Exif заглавията от JPEG и TIFF файлове.
Например:
// проверяваме дали това наистина JPEG формат на изображението
ако (exif_imagetype ( "image.jpeg") == IMAGETYPE_JPEG)
// чете заглавията
$ Imagedata = exif_read_data ( "image.jpeg", 0, вярно);
ако ($ imagedata === невярно)
ехо "Не" заглавки; // Ако не заглавията
още
// показва множество заглавия в раздели
foreach ($ imagedata като $ ключов раздел => $)
foreach ($ раздел като $ име => $ стойност)
ехо "$ ключова стойност име $ $ ..";
>
>
>
още
ехо "Non поддържан формат";
Тази статия описва възможността за използване на само някои от функциите, като gd_library и Exif-разширение. За повече информация за всички налични функции работят с изображения в PHP може да се намери на официалния сайт, работещи в областта на изображението секция и Exif функции.
Свързани статии