PHP XBM class Текущая версияТекущая, на данный момент версия - 0.9.0RC1 от 28 сентября 2005. Её автор - я, Евгений Степанищев. Мои координаты есть на сайте.ПредысторияXBM - пожалуй, единственный формат, который используется веб-мастерами крайне редко. Несмотря на то, что изображения в этом формате поддерживаются всеми ведущими браузерами, известно об этом факте очень малому количеству людей. Конечно, дикие времена, когда GD в составе PHP на хостингах был редкостью уходят в прошлое, тем не менее, такие хостеры встречаются, а задача вывода графики остаётся.Сам я взялся за этот класс как раз по этой причине - у хостера не было (и нет до сих пор) библиотеки GD, а некоторую информацию нужно было выводить в виде картинки. У формата XBM есть достоинство - он относительно прост, но ест и существенный недостаток - в вашем распоряжении всего два цвета, впрочем, для некоторых задач этого вполне достаточно. Пример работы (код можно посмотреть ниже) класса Image_XBM: Важное дополнение: оказывается, Internet Explorer 6.0SP1 и старше перестали поддерживать формат XBM из-за того, что у IE были проблемы с парсингом этого формата. Вместо того, чтобы исправить проблему, Microsoft просто удалила поддержку этого формата из своего браузера. ВозможностиБиблиотека поддерживает:
ИспользованиеВ библиотеке один класс Image_XBM, четыре константы и несколько методов (в большинстве своём совпадают с функциями GD):
константа для чёрного цвета IMAGE_XBM_WHITE константа для чёрного цвета IMAGE_XBM_TRANS константа для прозрачности (например для того, чтобы при печати шрифтом, шрифт накладывался поверх изображения не затирая его фоном) IMG_COLOR_STYLED специальный цвет, для рисования заданным стилем (setStyle) create($x_size, $y_size) создаёт пустое (белое) изображение заданного размера getWidth() возвращает размер изображения по горизонтали getHeight() возвращает размер изображения по вертикали drawLine($x1, $y1, $x2, $y2, $color) чертит линию из x1,y1 в x2,y2 заданным цветом drawPixel($x, $y, $color) закрашивает пиксел заданным цветом getColorAt($x, $y) возвращает цвет пикселя в заданных координатах output([$filename]) выводит изображение в браузер или файл drawRectangle($x1, $y1, $x2, $y2, $color) рисует прямоугольник. x1,y1 - координаты верхнего левого угла, x2,y2 - правого нижнего, color - цвет drawFilledRectangle($x1, $y1, $x2, $y2, $color) рисует закрашенный прямоугольник drawPolygon($points, $num_points, $color) рисует фигуру из произвольного количества точке. $points - массив из пар координат точке, $num_points - размер массива, $color - цвет destroy() уничтожает изображение и переинициализирует все переменные setStyle($style) задаёт стиль рисования для цвета IMG_COLOR_STYLED. $style - массив цветов (подробнее - в документации по GD) fill($x, $y, $color) "баночка с краской" - заливает область цветом $color, ограниченную со всех сторон цветом, противоположным $color copy(&$src_im, $dst_x, $dst_y, $src_x, $src_y, $src_w, $src_h) копирует часть изображения $src_im размерами $src_w,$src_h из координат $src_x, $src_y в $dst_x, $dst_y createFromFile($filename) чтение XBM-изображения из файла drawEllipse($cx, $cy, $w, $h, $color) рисует эллипс цветом $color с координатами центра $cx, $cy, шириной $w и высотой $h. Легко догадаться, что при $w=$h получится круг drawFilledEllipse($cx, $cy, $w, $h, $color) рисует закрашенный эллипс drawFigletText($text, $font, $size, $fgcolor, $bgcolor, $x, $y) выводит текст figlet-шрифтом. $text - текст, который будет выведен; $font - пусть и имя figlet-шрифта, $size - коэффициент умножения (целое число или строка 'X:Y' - отдельные целые коэффициенты умножения по оси X и Y); $fgcolor - цвет текста; $bgcolor - цвет фона; $x и $y - начальные координаты для вывода. Для работы с Figlet-шрифтами требуется наличия модуля Text::Figlet из PEAR. Пример использования
<?
СкачатьСкачать библиотеку в формате PEAR: Image_XBM-0.9.0RC1.tgz ( байт)Посмотреть исходный код Image_XBM: XBM.phps Модуль Figlet: Figlet package |