GD Graphics Library (GD) — программная библиотека, написанная Томасом Баутелом (Thomas Boutell) и другими разработчиками для динамической работы с изображениями. Изначальный язык программирования библиотеки — ANSI C, но разработаны интерфейсы для множества других языков программирования. Библиотека позволяет создавать изображения в форматах GIF, JPEG, PNG и WBMP. Поддержка GIF была прекращена в 1999, когда Unisys аннулировала свободную лицензию для бесплатного и некоммерческого ПО на использование работающего в GIF метода компрессии LZW. 7 июля 2004 года, когда срок действия патента истек, поддержка GIF была возобновлена.
Название GD изначально обозначало «GIF Draw». Однако, после аннулирования лицензии Unisys, аббревиатура расшифровывается как «Graphics Draw».
GD позволяет создавать изображения, состоящие из линий, дуг, текста (включая программный выбор шрифтов) и других изображений, а также использовать различные цвета.
В версии 2.0 добавлена поддержка 32-битных (truecolor) изображений, альфа-каналов, дискретизация изображений (для плавного изменения размера 32-битных изображений) и многое другое.
GD поддерживает множество языков программирования, включая C, PHP, Perl, Python, O’Caml, Tcl, Lua, Pascal, GNU Octave, Common Lisp, Scheme и REXX[6]. Имеется также инструмент, называемый fly, который позволяет получать доступ к GD из любого языка программирования при использовании командной строки.
GD в различных языках программирования
PHP
В PHP библиотека GD значительно расширена. Начиная с версии PHP 4.3 входит в стандартную поставку интерпретатора. До этой версии могла подключаться как отдельная библиотека. Поддерживает почти все существующие форматы графики для использования в веб: PNG, JPEG, GIF, ICO и различные методы работы с графическими файлами (применение фильтров, текст, изменение размера, и прочее).
Часто используется для визуализации статистических файлов, а именно: графиков, диаграмм и т. д.
Текущая версия библиотеки — 2.0
Пример работы с библиотекой (PHP)
// Создаём изображение шириной в 400 и длиной в 50 пикселов
$image = imagecreate(400,50);
// Задаём цвет изображения (RGB)
imagecolorallocate($image,0,0,0);
// Задаём цвет текста
$text_color = imagecolorallocate($image,0,255,255);
// Добавляем текст на картинку
imagestring($image,21,0,0,'Some text...',$text_color);
// Отправляем заголовки серверу
header('Content-Type: image/png;');
//Задаём тип содержимого
imagepng($image);
Примечания
См. также
Ссылки
Учебные пособия