ПРОГРАММ: 654 | СТАТЕЙ: 125 | КОДОВ: 3434   

    главная        новости        программы        библиотека        коды        рейтинг       форум   

Афоризм
На халяву и зверь бежит.
 
Поиск


 
Рассылка
| Soft-Ежедневник - обзор программ прямо к Вам на e-mail
 
 
Полезное!
 
7 лучших
  История Качи. Док. фильм
  Канцелярия для школы и офиса с доставкой по Киеву
  Пробковые доски и канцтовары для вашей работы с доставкой по приемлемым ценам .
  Канцтвары и доски для маркеров с доставкой.
  Clubmasters DJ School Школа Ди-джеев в Санкт-Петербурге
  
  
 
  Библиотека > web - разработка > PHPдобавить статью
Создание изображений с помощью PHP (gd)

Одной из особенностей PHP является возможность создания изображений, как говорится "на лету". Что это значит? Это означает, что скрипт...
 
Листопад Александр
php4you.kiev.ua
26-05-2004
Версия для печати
печать

    Содержание
  1. Вступление
  2. Необходимые компоненты
  3. Создание скрипта

Вступление

Язык PHP (официально: "PHP - гипертекст препроцессор"), встроенный в HTML язык скриптов на стороне сервера. Это мощный язык, позволяющий разработчику обращаться к базам данных различных типов и производителей, работать с массивами, регулярными выражениями, делать сетевые запросы, а также многе-многое другое... и все это можно проделать из HTML-кода! А результат - отдать на клиентскую сторону, в браузер.

Одной из особенностей PHP является возможность создания изображений, как говорится "на лету". Что это значит? Это означает, что скрипт, написанный на PHP выдает после выполнения HTTP-заголовок Content-type: с соответствующим созданному типу изображения значением и после этого выводит изображение, получается как будто веб-сервер выдал изображение как таковое, а не как результат выполнения скрипта.

Применений этой возможности PHP очень много на практике. Самое простое применение - создание счетчиков. Можно создать огромное множество счетчиков, различных оттенков, с использованием различных TrueType шрифтов. Самый яркий пример - topping.com.ua - украинская система рейтинга сайтов Интернет.

Вверх

Необходимые компоненты

Прежде всего для создания изображений с выдачей пользователю в браузер необходим веб-сервер. Лучше всего для этого подойдет веб-сервер Apache. Далее - нужно получить самую свежую версию PHP, можно тут: www.php.net/downloads.php, а также все необходимые компоненты:

  • gd [gd-1.8.3.tar.gz]
  • t1lib [t1lib-1.0.1.tar.gz]
  • jpeg-6b [jpegsrc.v6b.tar.gz]
  • libpng [libpng-1.0.6.tar.gz]
  • freetype [freetype-1.3.1.tar.gz] (библиотека для прорисовки TT шрифтов)
Внимание! Номера версий указаны на момент написания данной статьи и могут устареть на момент чтения.

После установки всех библиотек и т.д. по местам нужно собрать модуль PHP. После этого остановить (если запущен) веб-сервер и запустить заново или запустить свежесобранный httpd, предварительно подправив под свои нужды конфигурационный файл httpd.conf. После этого веб-сервер с модулем PHP и возможностью создания изображений "на лету" готов! Можно пользоваться.

Вверх

Создание скрипта

Скрипт PHP выглядит так:

<? header("Content-type: image/png");
$img = imagecreate(400,80);
$black = ImageColorAllocate($img, 0, 0, 0);
$green = ImageColorAllocate($img, 0, 255, 0);
$white = ImageColorAllocate($img, 255, 255, 255);
$trans = ImageColorTransparent($img, $white);
ImageFill($img, 0, 0, $white);
ImageString($img , 2, 10, 10, "Laa is so happy to see you!", $black);
ImageTTFText($img, 18, 0, 45, 45, $green, "arial8.ttf", "$text");
ImagePng($img);
ImageDestroy($img); ?>

Теперь подробнее о методе создания и самом скрипте.

Первая строка выдает HTTP-заголовок Content-type: image/png, который объявляет браузерам о том, что тип последующей информации является графическое изображение формата PNG.

Следующая строка возвращает идентификатор изображения $img, который PHP будет ассоциировать с изображением размером 400 пикселей по горизонтали и 80 по вертикали.

С третьей по пятую строку происходит ассоциирование цветов из палитры RGB (red-green-blue) с переменными PHP. Функция ImageColorAllocate должна быть вызвана для ассоциации любого цвета, который может быть использован в будущем изображении.

Функция ImageColorTransparent использует два аргумента - идентификатор изображения и цвет из палитры RGB (переменная PHP). В результате будущее изображение будет создано с прозрачным цветом указанным в переменной (второй аргумент). К сожаленью эта функция применима только с GIF-изображениями, но этот формат начиная с версии 1.6 в gd не поддерживается. Это связанно с тем, что Unisys владеет патентом LZW-компрессии.

ImageFill - заполнение изображения $img цветом $white начиная с позиции "0, 0" - верхний левый угол. Я только сам не понял зачем указывать координаты? По логике нужно указывать только изображение и цвет... ну да ладно. Думаю разработчики постарались сделать функции избыточными - вдруг кому пригодится... :-)

Функция ImageString прорисовывает строку текста (5-ый аргумент) цвета $white в позиции "10, 10" (3-, 4-ый аргументы) стандартным шрифтом с фиксированной шириной символов. Эта функция имеет мало возможностей прорисовки текста в изображениях, но эти возможности можно расширить с помощью функции ImageLoadFont.

Функция ImageTTFText прорисовывает текст в изображении с помощью TrueType шрифтов, которые разработчик может самостоятельно подключить. Второй аргумент указывает размер шрифта, используемого для прорисовки. Третий - угол наклона будущего текста относительно горизонтали. (Используя угол 90њ, разработчик получает текст, написанный снизу вверх, т.е. вертикально.) Далее - 4- и 5-ый аргументы предназначены для указания координат начала строки текста (точнее: левого нижнего угла первой буквы текста, что противоположно поведению функции ImageString, которая использует координаты для указания верхнего правого угла первой буквы текста). Следующие аргументы, которые используются - это цвет текста, шрифт (путь к файлу шрифта) и собственно текст.

Две последнии функции (ImagePng и ImageDestroy) выдают изображение браузеру и удаляют его из памяти соответственно. Аргументом в обоих случаях выступает идентификатор изображения. Помимо функции ImagePng допустимо использование функции ImageJpeg с предварительным указанием этого в HTTP-заголовке (Content-type:).




Комментарии
Оставить комментарий
страница 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | >

NolanChony | 28-01-20 06:52
Our Drug Prices are 70% less than your local pharmacy

<b>BESTMEDS24.COM</b>

Our <a href=https://bestmeds24.com/>online pharmacy</a> is the leader in delivering medications throughout the world.
Our goal is to provide medications at discount rates to everyone who is affected by expensive local prices.
Our company https://bestmeds24.com is a professionally managed distributor of generic drugs.
We provide high-quality service supplying drugs all over the world.

<a href="https://bestmeds24.com" />online pharmacy</a>


geraldinelx69 | 27-01-20 13:21
Best Nude Playmates & Centerfolds, Beautiful galleries daily updates
http://xxxpiccome.allproblog.com/?kaylee

streaming porn amatuer random porn clips t a porn moives kidd gay porn olderwomen porn


milmulina | 27-01-20 08:38
Как работать руками и головой. <a href=http://www.freshdesigner.ru/>freshdesigner.ru</a>. Умные механизмы
<a href=http://www.freshdesigner.ru/bookstehnik-102.htm>www.freshdesigner.ru</a>


CharlesNop | 24-01-20 00:59
Жизнь с запущенным раком простаты может быть подавляющей. Важно понимать как болезнь, так и ваше лечение, чтобы вы могли принимать активное участие в принятии решений о вашем лечении.
Если уровень простат-специфического антигена (ПСА) постоянно повышается во время лечения, которое снижает уровень тестостерона, это может означать, что ваш рак простаты прогрессирует. Прогрессирование означает, что рак ухудшается или распространяется.

Когда это произойдет, ваше лечение может измениться. Вот почему ваш врач может назначить XTANDI - лечение, которое может помочь замедлить прогрессирование.


<a href=https://www.xtandi.ru/index/xtandi_ehnzalutamid_kstandi_enzalutamide_kupit/0-5>кстанди инструкция +по применению</a>


Gamerdew | 23-01-20 23:38
Congratulations and Happy New Year 2020!
You can claim $1,600 FREE if you win: http://winbabblatan.ga/?u=41nkd08&o=8dbpkzp <== Personal Link


Tommyvab | 23-01-20 19:41
What To Do To Be True 09.
Key to the Highway 09 39 08.
Grade level 9-12 Subject area U.
http://sjnbeb.daizahnishndarmeztizuru.info/bright-lights-and-promises-janis-ian-between-the-lines%20flac%20mp3%20vinyl%20rip%20full%20album.php My Old Man is a special tune, if not just for the actual aural document of Joni s ringing soprano, which she lost as she got older.
Bebop threw away the dancing aspect of jazz and focused on virtuoso playing.
We re all back, shouted Pete.


TorWikiLinks | 23-01-20 16:58
Are you eccentric to discern what the vile trap is? What is obscure in the mystic Internet? Affiliate with!
Download TOR browser and stop in TOR sites directory.
TOR browser - <a href=https://www.torproject.org/download/>https://www.torproject.org/download/</a>
TOR sites directory - <a href=https://pastebin.com/TB4ifihx>Hidden Tor sites</a>


Davidhof | 21-01-20 12:34
Обменяем вашу квартиру через куплю-продажу. Выгодно.Полное сопровождение. Звони!


E-mail: info@AlfaAgent.by; Сайт: https://AlfaAgent.by/obmen-kvartir


Davidpaync | 20-01-20 21:21
Cost-free https://www.topxxxstars.com/ : pamela anderson naked sex plus much more.

https://www.topxxxstars.com/pornstar-hardcore/


helenzv3 | 20-01-20 11:50
Sexy pictures each day
http://makeoutporn.littlebearporn.amandahot.com/?cristal

free oprn video xxx sharing directory real cash porn vid most popular asian porn websites free denmark porn croc review porn clips

Имя:
E-mail:
Сообщение:


Число:

   очистить

популярные статьи по теменовые статьи
Создание видео из фотографий в программе "ФотоШОУ"
Разное / Обработка фото и видео
Больница для компьютера
железо / Система
Чем так популярны социальные сети?
Разное / разное
Синхронизация данных с сотового телефона на ПК
железо / Мобильные устройства
Куплю хостинг
web - разработка / Хостинг

Опрос
На что Вы обращаете внимание в первую очередь при покупке товара в интернет-магазине?  
 
Комментарии и оценку пользователей
Наличие нескольких фотографий
Подробное и качественное описание
Условия доставки
Возможность покупки в кредит
 
Самое свежее  
 ПРОГРАММЫ

ICQ 8.0.5990
ICQ 8.0.5990

Mozilla Firefox 18.0.2
Mozilla Firefox 18.0.2

ArtMoney 7.40.4
ArtMoney 7.40.4

 НОВОСТИ

Хакерская атака на Google из Китая
Хакерская атака на Google из Китая

Мы победили! Олимпиада 2014 пройдет в Сочи
Мы победили! Олимпиада 2014 пройдет в Сочи

 БИБЛИОТЕКА

Создание видео из фотографий в программе "ФотоШОУ"
Создание видео из фотографий в программе "ФотоШОУ"

Больница для компьютера

 
Рекомендую!



Rambler's Top100

Copyright © 2004-2020 MostInfo.net  | связь с админом
При использовании материалов сайта ссылка на MostInfo обязательна.