Wikipedia

GD Graphics Library

GD Graphics Library
Gdlogo small.png
Developer(s)Thomas Boutell
Initial release1994
Stable release
2.3.0 / March 22, 2020 (2020-03-22)[1]
Repositoryhttps://github.com/libgd/libgd
Written inC
Operating systemCross-platform
TypeGraphics library
LicenseBSD-like license
Websitelibgd.github.io

The GD Graphics Library is a graphics software library by Thomas Boutell and others for dynamically manipulating images. Its native programming language is ANSI C, but it has interfaces for many other programming languages. It can create GIFs, JPEGs, PNGs, and WBMPs. Support for drawing GIFs was dropped in 1999 when Unisys revoked the royalty-free license granted to non-commercial software projects for the LZW compression method used by GIFs. When the Unisys patent expired worldwide on July 7, 2004, GIF support was subsequently re-enabled.

GD originally stood for "GIF Draw". However, since the revoking of the Unisys license, it has informally stood for "Graphics Draw".

GD can create images composed of lines, arcs, text (using program-selected fonts), other images, and multiple colors. Version 2.0 adds support for truecolor images, alpha channels, resampling (for smooth resizing of truecolor images), and many other features.

GD supports numerous programming languages including C, PHP, Perl, Python, OCaml, Tcl, Lua, Pascal, GNU Octave, REXX, Ruby and Go. In addition, the "Fly" command line interpreter allows for image creation ("on the fly") using GD. GD scripts can thus be written in potentially any language and run using this tool.[2]

GD is extensively used with PHP, where a modified version supporting additional features is included by default as of PHP 4.3 and was an option before that. As of PHP 5.3, a system version of GD may be used as well, to get the additional features that were previously available only to the bundled version of GD.

Example

The following is an example which outputs a 3D looking pie chart (from the PHP GD documentation on the imagefilledarc function).

<?php // Create an image $image = imagecreatetruecolor(100, 100); // Allocate some colors $white = imagecolorallocate($image, 0xFF, 0xFF, 0xFF); $gray = imagecolorallocate($image, 0xC0, 0xC0, 0xC0); $darkgray = imagecolorallocate($image, 0x90, 0x90, 0x90); $navy = imagecolorallocate($image, 0x00, 0x00, 0x80); $darknavy = imagecolorallocate($image, 0x00, 0x00, 0x50); $red = imagecolorallocate($image, 0xFF, 0x00, 0x00); $darkred = imagecolorallocate($image, 0x90, 0x00, 0x00); // Make the 3D effect for ($i = 60; $i > 50; $i--) { imagefilledarc($image, 50, $i, 100, 50, 0, 45, $darknavy, IMG_ARC_PIE); imagefilledarc($image, 50, $i, 100, 50, 45, 75, $darkgray, IMG_ARC_PIE); imagefilledarc($image, 50, $i, 100, 50, 75, 360, $darkred, IMG_ARC_PIE); } imagefilledarc($image, 50, 50, 100, 50, 0, 45, $navy, IMG_ARC_PIE); imagefilledarc($image, 50, 50, 100, 50, 45, 75, $gray, IMG_ARC_PIE); imagefilledarc($image, 50, 50, 100, 50, 75, 360, $red, IMG_ARC_PIE); // Flush the image header('Content-type: image/png'); imagepng($image); imagedestroy($image); ?> 

See also

References

  1. ^ "LibGD 2.3.0 release". Retrieved 3 April 2020.
  2. ^ Gleeson, Martin. "fly: create images on the fly".

External links

This article is copied from an article on Wikipedia® - the free encyclopedia created and edited by its online user community. The text was not checked or edited by anyone on our staff. Although the vast majority of Wikipedia® encyclopedia articles provide accurate and timely information, please do not assume the accuracy of any particular article. This article is distributed under the terms of GNU Free Documentation License.

Copyright © 2003-2025 Farlex, Inc Disclaimer
All content on this website, including dictionary, thesaurus, literature, geography, and other reference data is for informational purposes only. This information should not be considered complete, up to date, and is not intended to be used in place of a visit, consultation, or advice of a legal, medical, or any other professional.