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

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

Афоризм
И мессии тоже с нетерпением ждут своего пришествия.
 
Поиск


 
Рассылка
| Soft-Ежедневник - обзор программ прямо к Вам на e-mail
 
 
Полезное!
 
7 лучших
  Удобный сайт недорогого такси Discount в Алматы
  Оградки на могилу Оренбург цены
  Обзорные экскурсии по Йошкар-Оле на сайте yotours.ru
  Немецкий инструмент Knipex на интернет-сайт knipex.pro
  Перегрузка сыпучих грузов
  
  
 
  Библиотека > 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:).




Комментарии
Оставить комментарий
страница < | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | >

Murakinfetty | 28-11-20 18:19
Employers shall ensure that workers who've contact with contaminated laundry wear protecting gloves and other appropriate personal protective equipment. When in contrast with patients that underwent planned nephrectomy earlier than transplantation, sufferers that underwent deliberate nephrectomy throughout transplantation had comparable affected person and/or graft survival after transplantation, submit-operative issues and period of hospital stay. Types of artificial materials for prolapse help and potential infections There are four kinds of material utilized for pelvic organ prolapse surgical procedure, each various in their potential contributions to pelvic flooring reconstructive surgery muscle relaxant uses <a href=http://www.euromilk.org/fileadmin/pacificu-edu/purchase-cilostazol-online/>order cilostazol paypal</a>.
Are ointments better than different vehicles for corticosteroid treatment of psoriasis. The beta blocker atenolol shouldn't be used as a result of it is less efficient than placebo in decreasing cardiovascular occasions. If a statistical take a look at signifies that the means of the groups differ, the potential for under a kind I error exists impotence treatment drugs <a href=http://www.euromilk.org/fileadmin/pacificu-edu/purchase-sildigra-online/>generic sildigra 25 mg with visa</a>. Blood in the left umbilical vein takes considered one of three routes – supplying sinusoids on the left facet of liver; supplying sinusoids on the right half of the liver


GloBerTu | 15-10-20 18:26
Друзья, тостик:
Когда француз обнимает женщину за талию, его пальцы сходятся на ней. Но это не значит, что у французов такие длинные пальцы. Это значит, что у французских женщин тонкая талия. Когда англичанка садится на лошадь и выезжает на прогулку, ее ноги достают до земли. Но это не значит, что у нее такая маленькая лошадь. Это значит, что у англичанок такие длинные ноги. Когда русский, уходя на работу, хлопает свою жену по заднице, то, приходя с работы, видит, что задница еще колышется. Но это не значит, что русские женщины такие толстые. Это значит, что у русских мужчин такой короткий рабочий день! Так выпьем же за нашу Конституцию! Источник -
https://наша-планета.рф/vrach-rasskazala-o-protivopokazaniiah-dlia-mytia-v-holodnoi-vode.html - наша планета,
https://globix.ru/v-otstranennom-ot-volejbolnogo-kubka-rossii-zenite-net-podtverzhdennyh-sluchaev-koronavirusa/ - globix.ru,
https://купить-авто.рус/pakkard-po-sovetski-test-draiv-zis-110b-na-kotorom-vozmojno-vozili-fidelia-kastro.html - купить авто.


MaryJfredo | 07-10-20 19:09
We cater to all your homosexual needs and make you rock hard in seconds. Join the biggest gay webcam community today and starting chatting with our male cam models. Hyderabad auntys and unsatisfied house wifes msg me for the Secret relationship ad fun. The most beautiful gay escorts in Sydney are found here. Watch all best Gay Sissy XXX vids right now! https://realpraha.info • Approximately 1 in 5 bisexual women (22%) and nearly 1 in 10 heterosexual. Whether you’re into random gay hookups or seriously committed relationships, there’s an app for that. Space is an issue for the dance area, but that has more to do with limit size of bars in Chicago because of on: N Halsted St, Chicago, , IL.


seo-cook | 07-01-12 16:39
Как такую функцию вызвать с другого сайта (счетчики)


пробегака | 27-10-11 11:07
У ImageTTFTex третий параметр, не угол наклона, а угол поворота. Вводите в заблуждение


CyberORcX:

Очень похоже на исходный код картинки.
Для вывода в браузер нужно передавать заголовок, что это картинка.


CyberORcX | 25-02-11 19:18
Что-то у меня не работает:
Выводит что-то подобное
&#65533;PNG  IHDR


mymotomir.ru | 09-03-10 10:20
Все гениальное просто! Осталось только разобраться


MaKc | 01-08-09 00:08
Чет я не совсем догнал, кто может, помогите плиззз


Иван | 21-02-08 12:51
Надо будет попробовать


Alex | 10-08-04 15:56
Все элементарно 8)

Имя:
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 пройдет в Сочи

 БИБЛИОТЕКА

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

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

 
Рекомендую!



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