GD Graphics Library

Материал из Википедии — свободной энциклопедии
Перейти к навигации Перейти к поиску
GD Graphics Library
Тип библиотека функций и графическая библиотека[вд]
Разработчик Pierre A. Joye[1]
Написана на Си
Операционная система кроссплатформенность
Первый выпуск 1994
Последняя версия
Репозиторий bitbucket.org/libgd/gd-l…
github.com/libgd/libgd
Лицензия BSD[3]
Сайт 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[6]. Имеется также инструмент, называемый fly, который позволяет получать доступ к GD из любого языка программирования при использовании командной строки.

GD в различных языках программирования

[править | править код]

В 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. README-файл
  3. Архивированная копия. Дата обращения: 14 октября 2008. Архивировано 25 января 2009 года.
  4. LibGD 2.3.3 Bugs fixes, improved macOS, Windows builds support (англ.) — 2021.
  5. https://github.com/libgd/libgd/releases/tag/gd-2.3.3 — 2021.
  6. Bindings — LibGD. Дата обращения: 14 октября 2008. Архивировано из оригинала 5 октября 2008 года.

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

[править | править код]