Как стать автором
Поиск
Написать публикацию
Обновить

JpGraph — монстер для ваших php-приложений. Часть первая.

О...

Итак, библиотека JpGraph была разработана Шведской компанией Aditus Consulting, которую возглавляет Йохан Перссон. Эта библиотека очень мощна, и её объем достигает 3,5 мегабайт. Имеется хорошая документация по классам и методам этой библиотеки на английском языке. Последнюю версию можно скачать на сайте разработчика.
В этой статье я собираюсь рассказать о некоторых возможностях библиотеки и привести примеры её работы.
Возможности

Линии

Линии могут быть легко адаптированы практически под любые потребности. Можно изменить цвет, прозрачность уровней, толщину линии, тип линии (сплошная, пунктирная и т.д.), фон, масштаб, оси позиционирования и форматирование.
image
image
Линии также можно заполнить цветом, полупрозрачным или градиентом (как горизонтальным, так и вертикальным). Заполнению можно задать одну или несколько вертикальных полосы.
image
image
image
image
Соединения линий могут быть подчеркнуты использованием маркеров (имеются встроенные, а так же 3D маркеры), или изображениями.
image
image
Также, в местах соединения линий, можно использовать какой-либо текст.
image
Блоки

Блоки, также как и кривые, имеют множество настроек, от заполнения цветом, до придания 3D-эффекта с прозрачным фоном.
image
image

Остальные возможности вы можете посмотреть на странице разработчика.
Пример: Антиспам

Первое, что мне попалось на глаза, был класс для создания изображений для защиты от ботов на сайте.
image
На первый взгляд, казалось бы, такое реализовать нелегко, но заглянув в файл класса – сразу все становится понятно. Каждому символу присвоена строка, закодирования алгоритмом base64. Но от этого класс не становится бесполезным в плане расширения.
Еще один момент, в библиотеке находится два класса для генерирования таких изображений. Первый, jpgraph_antispam.php, генерирует строку с цифрами, а второй, jpgraph_antispam-digits.php, генерирует строку, состоящую исключительно из цифр.

Пример реализации


Copy Source | Copy HTML
  1. <?php
  2. // Подключение класса
  3. require_once "../jpgraph_antispam.php";
  4.  
  5. // Создание объекта
  6. $spam = new AntiSpam('');
  7.  
  8. // Создание строки состоящей из 5 произвольных символов
  9. $chars = $spam->Rand(5);
  10.  
  11. // Вывод изображения
  12. if( $spam->Stroke() === false ) {
  13. die('Illegal or no data to plot');
  14. }
  15.  
  16. ?>

И наконец

Если мне дадут инвайт, то следующая моя статья будет о самых распространенных классах и методах библиотеки JpGraph. Также выход статьи будет зависеть от ваших комментариев ;-)
Теги:
Хабы:
Данная статья не подлежит комментированию, поскольку её автор ещё не является полноправным участником сообщества. Вы сможете связаться с автором только после того, как он получит приглашение от кого-либо из участников сообщества. До этого момента его username будет скрыт псевдонимом.