|
PHP MonoBMP class
Текущая версия
Текущая и единственная, на данный момент версия — 0.1.0 от 3 сентября 2005. Её
автор — я, Евгений Степанищев. Мои координаты есть на сайте.
Что это?
Библиотека для работы с монохромными изображениями в формате BMP. Является расширением класса
Image_XBM и работает на его основе.
Возможности
Библиотека поддерживает:
- Чтение и запись формата BMP (только монохромный)
- Графические примитивы — точка, линия, полигон, эллипс, прямоугольник.
- Заливка цветом
- Рисование графических примитивов заданным стилем (setStyle)
- Копирование части изображения
- Поддержка Figlet-шрифтов при помощи библиотеки Text_Figlet.
Использование
В библиотеке один класс Image_XBM, четыре константы и несколько методов (в большинстве
своём совпадают с функциями GD):
- IMAGE_XBM_BLACK
константа для чёрного цвета
- 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.
Пример использования
<?
require_once 'Image/MonoBMP.php';
$a = new Image_MonoBMP();
$a->createFromFile('MonoBMP_sample.bmp');
$a->drawFigletText('MonoBMP test', 'xbriteb.flf', '1:1', IMAGE_XBM_BLACK, IMAGE_XBM_WHITE, 10, 45);
$a->drawRectangle(0, 0, 99, 99, IMAGE_XBM_BLACK);
header("Content-type: image/bitmap");
$a->output();
?>
Скачать
Скачать библиотеку в формате PEAR: Image_MonoBMP-0.1.0.tgz ( байт)
Посмотреть исходный код Image_MonoBMP: MonoBMP.phps
Модуль Figlet: Figlet package
|