Большой архив статей, книг, документации по программированию, вебдизайну, компьютерной графике, сетям, операционным системам и многому другому
 
<Добавить в Избранное>    <Сделать стартовой>    <Реклама на сайте>    <Контакты>
  Главная Документация Новости ИТ Программы Книги Games   Обои   Экспорт RSS E-Books
 
Поиск по сайту

TOP-10 программ
Symantec Norton Ghost 9.0
Partition Magic 8.0.2 Pro
Xilisoft 3GP Video Converter v3.1.7.0616b
Norton AntiVirus 2005
Xilisoft 3GP Video Converter v2.1.52.831b
Антивирус Касперского Personal 5.0.303 beta 2
RAR Password Cracker 4.12
ABBYY PDF Transformer v1.00.820
MP3 To Ringtone Gold v3.02
Mobtime Cell Phone Manager v5.3.1
 
Наши сервисы
Рассылка новостей. Подпишитесь на рассылку сейчас и вы всегда будете в курсе последних событий в мире информационных технологий.
Новостные информеры. Поставьте наши информеры к себе и у вас на сайте появится дополнительный постоянно обновляемый раздел.
Добавление статей. Если вы являетесь автором статьи или обзора на тему ИТ присылайте материал нам, мы с удовольствием опубликуем его у себя на сайте.
 
 

  Раздел: Компьютерная документация -> Интернет технологии -> PHP

 

GD Library - эффективное использование

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

Предисловие

Примеры к статье - 152 кб

После выхода в свет PHP 4.3, библиотека GD начала поставляться с ним одной связке. Для проверки, установлена ли данная библиотека в вашей системе, запустите функцию phpinfo() и найдите секцию GD. Если же таковой не окажется, то для ее установки нужно: 1) наличие самого файла php_gd.dll в папке php-4.x.xextensions 2) убрать ";" в строке ";extension=php_gd.dll" файла php.ini.

Еще небольшое замечание: так как предполагается, что графика, созданная с помощью РHP, предназначена для просмотра посетителю, то необходимо позаботиться о ее размерах. Ведь выделенные каналы есть не у всех, а ведь не хочется, чтобы ваш сайт был закрыт еще до окончания его загрузки.

Библиотека GD стала столь популярной благодаря тому, что с ее помощью возможно динамически генерировать различные графические элементы. Чаще всего это необходимо для различного рода счетчиков, эскизов и рекламных материалов. Более сложное применение функций библиотеки GD можно встретить в изменении цвета изображения или же "фокусами" со шрифтами. Это можно применить, например, при наведении курсора мыши на определенную картинку.

Часть 1 - Изменяем цвет

На самом деле в изменении цвета изображения ничего сложного нет. Самый простой способ - это создать изображение таких же размеров и залить его новым цветом. А потом это изображение накладывается поверх исходного.

Листинг 1.


Вот что получиться, если использовать для наложения слой синего цвета RGB(0,0,255):

Mona Lisa Blue Mona Lisa

А сейчас рассмотрим другое применение графической библиотеки. Это будут функции работы со шрифтами TTF (TrueType Font). Их всего две - imagettftext и imagettftextbbox. Но практически используется только одна: imagettftext (записывает текст на изображение с использованием шрифтов TrueType).

С тех пор, как PHP стал работать с графикой, появилась возможность широко использовать его в комбинации с функциями TTF. Таким образом можно получить много интересных эффектов: текстуры, тени и прозрачный текст.

Часть 2 - Затенение

Пожалуй, самый простой текстовый эффект - затенение. Этот эффект делается очень просто: рисуем смещенный текст, а потом накладываем на него исходный текст. Еще можно использовать прозрачный текст для создания лучшего эффект тени, но об этом чуть позже.

Листинг 2.

 
Как видите, ничего сложно в реализации эффекта "тени" ничего сложного нет.

Выделение текста также довольно просто реализовать. Теоретически для этого нужно нарисовать линию слева, справа, над- и под исходным текстом. Данный метод успешно работает с всеми шрифтами, так как все сводиться к перемещению за один раз одного пикселя. Чтобы создавать такой контур, нам необходимо лишь знать ширину текста. Затем создаем два цикла:

Листинг 3.

 

Теперь, вызвав функцию imagettftextoutline($img,40,0,10,50,$red,$black,"arial.ttf","AaBbCcDd",3), можно получить следующее:

ABCDEF Picture

Часть 3 - Прозрачный текст

Создать прозрачный текст не так просто, как тень или обводку контура. Но на php нет ничего невозможного. Прозрачность создается путем перемещения текста в буфер (для редактирования), а затем возврат обратно и наложением на исходную картинку.

Листинг 4.


 
В результате выполнения данной функции исходное изображение остается без изменений. Вот только сверху на него добавляется полупрозрачный текст. Данный пример иллюстрирует это:

picture with transparent text

Часть 4 - Текстуры

Создание текста с текстурой - один из самых сложных эффектов. Для его воплощения необходимо знать, как использовать так называемое "маскирование". Поможет разобраться в этом следующая функция:

Листинг 5.


 
Представленный выше код - самый объемный в данной статье, хотя и используется для создания простого текстурированного текста. Это быстрее можно сделать в том же Photoshop'е, а теперь это стало возможным с использованием PHP и GD. При вызове функции imagettftexttexture ($img,$texture,40,0,10,50,"arial.ttf","AaBbCcDd") где $texture содержит картинку с текстурой (в нашем примере - кирпичная стена), то результатом ее работы будет следующее изображение:

ABCDEF with brick

На этом я завершаю свою статью о работе с графической библиотекой GD. Надеюсь, что рассмотренные примеры помогут вам расширить область применения языка PHP и создавать полезные скрипты.

Автор: Николай Рудченко
Источник: www.codeguru.com.ua

Ссылки по теме
Внутренние функции
Обработка строк в РНР
PHP и всё такое...
Пишем PHP код, устойчивый к ошибкам
Полезные скрипты на PHP
Почтовые функции в РНР
Полезные функции для работы с файловой системой

Вся документация PHP

 

Компьютерная документация от А до Я - Главная

 
Популярные книги

Технология программирования на C++. Начальный курс

Подробнее

SQL для "чайников", 5-е издание

Подробнее

Введение в ИТ Сервис-менеджмент

Подробнее

 

 
Новости ИТ
21.11.2008  Thunderbird 2.0.0.18
21.11.2008  Miranda IM 0.7.13
21.11.2008  Dr. Web 5 Beta
21.11.2008  KAV/KIS 2009 8.0.0.506
21.11.2008  avast! 4.8 (1290)
21.11.2008  Radmin 3.3
21.11.2008  DVR-X162J - новый внешний DVD-привод от Pioneer
21.11.2008  Дизайнерские системные блоки от Smooth Creations
21.11.2008  SPARKLE представляет Calibre P980X+, видеокарту с необычным дизайном
21.11.2008  Titan представляет куллер для Intel i7
21.11.2008  Компактный ПК для дома Acer Aspire X3200 - в России
21.11.2008  Hitachi Data Systems объявляет о новом плане инвестиций в России и странах СНГ
21.11.2008  Назначен новый президент Microsoft в России
21.11.2008  Mustek: новые цифровые видеокамеры начального уровня
21.11.2008  Серверные Core i7 - быстры ли они? Да, и очень, судя по тестам в SPECfp
21.11.2008  NETGEAR: акция для партнеров
21.11.2008  Персональные фотокарты на Яндексе
21.11.2008  Программа для стартапов Microsoft BizSpark анонсирована в России
21.11.2008  Средства защиты от утечек конфиденциальных данных Symantec DLP 8.1 теперь и в России
21.11.2008  Axis: первый 6-канальный IP-видеосервер с поддержкой H.264/M-JPEG
 
Полезно

 
Copyright © CompDoc.Ru
При цитировании и перепечатке ссылка на www.compdoc.ru обязательна. Карта сайта.
 
Rambler's Top100