GD Graphics Library

GD
Тип графическая библиотека
Разработчик Pierre A. Joye[1]
Написана на C[2]
Операционная система Кроссплатформенное программное обеспечение
Первый выпуск 1994
Последняя версия 2.3.2 (6 марта 2021[2])
Репозиторий bitbucket.org/libgd/gd-l…
github.com/libgd/libgd
Создаваемые форматы файлов:
BMP[3], GIF, Truevision TGA, WBMP, PNG, TIFF, WebP и X Pixmap
Лицензия BSD[4]
Сайт libgd.github.io

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[5]. Имеется также инструмент, называемый 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);

Примечания

  1. Developers — LibGD Архивировано 8 октября 2008 года.
  2. 1 2 Main Page — LibGD  (неопр.). Дата обращения: 8 мая 2022. Архивировано 8 июля 2016 года.
  3. README-файл
  4. Архивированная копия  (неопр.). Дата обращения: 14 октября 2008. Архивировано 25 января 2009 года.
  5. Bindings — LibGD  (неопр.). Дата обращения: 14 октября 2008. Архивировано из оригинала 5 октября 2008 года.

См. также

Ссылки

  • GD Graphics Library (Официальный сайт — текущая версия) (англ.)
  • GD Graphics Library (Официальный сайт — предыдущая версия) (англ.)
  • Image Functions (PHP), поддержка GD в PHP (англ.)
  • BMP в GD поддержка BMP в GD (рус.)

Учебные пособия

  • Введение в функции работы с изображениями на PHP (англ.)
  • Введение в работу с изображениями на PHP + GD (англ.)
  • Описание функций GD (рус.)