ТОП-10 популярных



Для работы с вещественными числами в MySQL предусмотрено три типа данных - это типы FLOAT, DOUBLE, DECIMAL. Числовой тип FLOAT...

НОУТБУК с блестящим экраном
Eсли выпустившая ноутбук фирма предлагает его в качестве «замены настольному ПК», то это должно подразумевать под собой нечто большее, чем...

БОЛЬШЕ БОЛЬШИХ LCD-мониторов
Процесс вытеснения с рынка мониторов с электронно-лучевой трубкой (CRT) продолжается. О смещении акцентов в пользу LCD-мониторов теперь заявляют даже те...

Больше больших LCD-мониторов
Процесс вытеснения с рынка мониторов с электронно-лучевой трубкой (CRT) продолжается. О смещении акцентов в пользу LCD-мониторов теперь заявляют даже те...

Магнито-оптический дисковод DynaMO
Cейчас, когда традиционные флоппи-дисководы на долгие годы замерли в своем развитии, поиск альтернативных носителей продолжается, и ситуация, казалось бы, разрешилась...

Иди и пиши. TravelMate C100
Планшетный компьютер платформы Tablet PC обязан в первую очередь быть легким, способным достаточно долго работать без подзарядки батарей. Эти требования...

ПОД ЛИТЕРОЙ «N»
Aтаку LCD-мониторов не остановить, а масштабы этого наступления даже немного пугают. Судите сами — многие пользователи только начинают приглядываться к новому для...


Для длинных строк, т.е. строк длиннее 255 символов, в MySQL предусмотрены типы BLOB (Binary Large Object, большой двоичный объект) и...

Размер объему не помеха.
С тех пор как компания Fujitsu отказалась от производства жестких дисков для настольных компьютеров, многие пользователи начали забывать о том,...


Какую только информацию мы не помещаем на компакт-диски: резервные копии важных данных, музыку, фильмы... Многие полагают, что главное - «купить...

PHP. Создание графических изображений


12-06-2015

В этой главе описывается создание графических функций с помощью функций расширения GD, речь о которых шла в главе 16, "Обработка изображений и графики". Практика свидетельствует о том, что необходимо быть осведомленными о проблемах, возникающих при создании графических изображений. Во-первых, это влечет за собой относительно большие расходы процессорного времени. В большинстве случаев гибкость динамической графики не соответствует нагрузке, которую испытывает при этом сервер. Во-вторых, задачу создания привлекательной графики средствами PHP нельзя отнести к категории простых. Многие методы, которыми обладают графические редакторы, не реализуемы. Как вы увидите в последующих примерах, большая часть работы будет затрачена на создание простейших двумерных графиков. Наконец, функций, обеспечивающих адекватную поддержку текста, какие существуют в текстовых редакторах, не существует. Отсутствует перенос слов на новую строку, а также концепция междустрочных интервалов, разрядки и нижних выносных эле­ментов. Независимо от этого, генерирование графики иногда имеет определенный смысл. В этой главе содержится несколько реальных примеров, к использованию которых можно приступать после внесения самых незначительных корректив.
25.1. Динамические кнопки
Изображения, окруженные якорными тегами, представляют собой обычное устройство навигации. Заменив простой текст, с помощью этого метода можно создавать кнопки, подобные тем, которые создаются в операционной системе, и даже красочные пиктограммы. В большинстве случаев лучше всего применять графику, созданную с помощью вашего любимого графического редактора, так как время между изменениями может быть достаточно большим. Однако если имеется кнопка, изображение которой изменяется достаточно часто, можно создать ее динамически с помощью PHP. Содержимое кнопки, и ее обозначение должны быть доступными в PHP. Это может быть оператор, устанавливающий значение переменной, а также значение, полученное из файла или базы данных.
Суть этой идеи позволит прояснить простой пример. Многие корпоративные Web-узлы имеют раздел, предназначенный для пресс-релизов. Вместо простого перечисления перечня текстовых ссылок пользователь хочет получить графическое изображение пылающей газеты для каждого пресс-релиза и все под заголовком "Последние новости". Каждая пылающая газета сверху сопровождается текстом с заголовком пресс-релиза. Для небольшой компании, которая выпускает не более одного пресс-релиза в месяц, такую графику лучше создать вручную. А для компании, выпускающей пресс-релизы каждую неделю, есть смысл автоматизировать этот процесс. Пресс-релизы можно разместить в базе данных, а графическое изображение создавать в момент просмотра пресс-релизов посетителями. Одним из преимуществ такого подхода является то, что если главный администратор увидит, что вы размещаете на узле компании свежие газеты, достаточно будет небольшой модификации для того, чтобы разместить вместо этого рисунка эмблемы компании.
Издержки, связанные с динамически создаваемой графикой, можно подсчитать. Вам совсем невыгодно экономить 15 минут в месяц, если загрузка такой страницы будет занимать 30 секунд. Если вы работаете с Internet постоянно, то, конечно, знаете, что загруженные рисунки при повторном к ним обращении загружаются уже из кэш-памяти браузера. Поэтому загрузка первой страницы может занимать длительное время, в то время как все последующие загрузки будут проходить уже быстрее, так как графическое изображение уже было загружено в браузер. Динамическая графика также кэшируется, но при кэшировании браузер использует URL. GET-method формирует переменные, являющиеся частью URL, поэтому Web-узлы http://www.site.com/button.php?label=home&from=1 и http://www.site.com/button.php?label=home&from=2 создают идентичные графические изображения, которые все же различаются, поскольку здесь речь идет о кэшпамяти браузера.

Понравился материал? Поделитесь с друзьями!



<< Предыдущая статьяСледующая статья >>
PHP. Сети:HTTP-аутентификация,Управление кэш-памятью браузера,Установка типа документа. Часть Восьмая. PHP. Создание графических изображений. Часть Вторая.