Fact-checked by Grok 2 weeks ago

GD Graphics Library

The GD Graphics Library (commonly known as libgd) is an library written for the dynamic creation and manipulation of raster images by programmers, supporting formats such as , , , , , , WBMP, , and HEIF. Originally developed by Thomas Boutell in 1994 at the , it enables the generation of images including lines, arcs, text, multiple colors, and operations like cutting and pasting from other images, making it suitable for lightweight applications in , embedded systems, and dynamic graphics generation. Since its inception, has evolved through contributions from various developers, with Boutell handling early maintenance before it transitioned to community oversight; as of 2021, it is primarily maintained by Pierre Joye and contributors under the .net project, with the latest stable release being version 2.3.3 in September 2021. As of 2025, development continues on version 2.4 and an initial version 3.0, with no new stable release since then. The library's permissive license allows free copying, distribution, and modification for both commercial and non-commercial use, provided the original is retained and authors are credited in derived works. Key features include support for transparency, blending, image transformations, filters, and animations, with extensibility through external libraries like libpng for handling and libwebp for . GD gained prominence in web programming due to its integration with languages like (via the GD extension), Perl (through GD.pm), and Ruby, facilitating tasks such as creating charts, thumbnails, and procedural graphics on the fly without heavy dependencies. Its design emphasizes speed and simplicity, avoiding complex features like to remain efficient for server-side and resource-constrained environments. Ongoing development focuses on security fixes, broader platform support (including BSD, PowerPC, and ), and fuzz testing via OSS-Fuzz to ensure robustness.

Introduction

Overview

The GD Graphics Library is an open-source C library designed for the dynamic creation and manipulation of images through procedural drawing techniques. It enables programmers to generate raster images programmatically, supporting a range of formats and operations suitable for integration into various software applications. Originally developed by Thomas Boutell for the Quest Protein Database Center at —a project focused on scientific data visualization—the library has evolved into a versatile tool for general-purpose image processing in programming environments. Primary use cases for include on-the-fly image generation in applications, server-side production for dynamic content, and within scripts for automated visual outputs such as charts and thumbnails. Its lightweight design makes it particularly valuable in resource-constrained settings like embedded systems, where it facilitates the creation of visuals without relying on heavy graphical user interfaces. Key capabilities encompass raster image creation using like lines, arcs, polygons, and text rendering, alongside advanced color handling that includes truecolor support and alpha channels for and blending effects.

Licensing and Distribution

The GD Graphics Library is distributed under a permissive BSD-like that grants users the right to freely copy, distribute, and modify the software for any purpose, including applications, without incurring fees. The license explicitly states: "Permission has been granted to copy, distribute and modify gd in any context without fee, including a commercial application," while requiring that derived works include a notice crediting the original authors in user-accessible documentation. It disclaims all warranties, providing the library "AS IS" with no guarantees of merchantability or fitness for a particular purpose. Historically, the library originated under terms set by its creator, Thomas Boutell, which initially required modifications to be cleared with him before release, as seen in early versions like 1.2 distributed by boutell.com, Inc. Over time, it transitioned to the current BSD variant, reflecting contributions from multiple developers and a shift toward broader open-source collaboration. The library is actively maintained by the LibGD team, led by Pierre Joye under the PHP.net umbrella, with ongoing development involving numerous contributors. Its core source code is written in C, accompanied by wrappers for languages such as , , and to facilitate integration. Distribution occurs primarily through the official repository at libgd/libgd for source access and contributions, alongside tagged releases hosted on libgd.github.io. It is also available via package managers, including FreshPorts for FreeBSD-based systems and pkgsrc for and other platforms.

History and Development

Origins and Early Versions

The GD Graphics Library was created in 1994 by Thomas Boutell while working at the Quest Protein Database Center of , initially to support the generation of scientific images such as visualizations of protein structures and data plots. Development began in February 1994 and continued through August 1995, with the library designed as a lightweight C-based tool for fast image manipulation in resource-constrained environments like early web servers. The initial purpose centered on enabling the dynamic creation of graphics for applications, particularly to produce and images without requiring heavy external tools, addressing the need for server-side image generation in scientific databases and early projects. Early versions provided basic drawing capabilities, including support for lines, arcs, polygons, ellipses, rectangles, text rendering with built-in fonts, multiple colors via palette allocation, flood fills, and cut-and-paste operations to copy regions between images. These features were optimized for palette-based images, limiting output to 256 colors per image to align with the constraints of format and early browsers, while emphasizing speed through integer arithmetic routines. The first public release occurred around 1995, coinciding with the library's maturation, and it was quickly ported to platforms for broad accessibility in academic and settings. Integration with followed soon after through modules like GD.pm, facilitating its use in scripting for automated tasks, while early ports to other languages expanded its reach. A key early contributor was Spencer Thomas, who handled the porting to Tcl, enabling integration with scripting environments for interactive graphics applications.

Major Releases and Milestones

The GD Graphics Library saw significant advancements starting with , released in the early , which introduced support for truecolor images allowing for 24-bit , alpha channels for handling, and resampling algorithms to enable smooth and of images. These enhancements expanded the library's capabilities beyond palette-based images, facilitating more sophisticated dynamic image manipulation in applications like web graphics generation. Subsequent releases in the 2.x series focused on stability, security, and integration with emerging formats. Notably, support was restored in version 2.0.28 on July 21, 2004, following the worldwide expiration of the Unisys LZW patent on July 7, 2004, which had previously restricted GIF encoding due to licensing concerns. support, leveraging the libwebp library for both reading and writing, became available in the 2.2.x series around 2016, enabling efficient compression for web-optimized images. More recently, support was added in version 2.3.2 in March 2021 via integration with libavif, providing high-quality encoding and decoding for modern image workflows. The stable release 2.3.3, announced on September 12, 2021, included bug fixes, enhanced compilation support for Windows via , and improved compatibility across platforms like macOS and . These updates emphasized robustness without introducing major new features, addressing vulnerabilities and build issues accumulated in prior versions. Maintenance transitioned from original developer Thomas Boutell to the LibGD team, coordinated under the PHP.net umbrella with lead contributions from Joye and others, ensuring ongoing development post-2007. As of November 2025, the master branch remains active for bug fixes and minor enhancements, while development has begun on GD 3.0 to incorporate high-quality 2D vector drawing APIs, though no timeline has been set. This evolution reflects the library's adaptation to contemporary needs, such as modern codecs, amid the 2004 GIF milestone that broadened format accessibility.

Technical Features

Supported Image Formats

The GD Graphics Library provides support for reading, writing, and manipulating several raster image formats, enabling dynamic image creation and conversion in applications such as web graphics generation. These formats include , , , HEIF, JPEG, , , , and WBMP, with capabilities varying by format and often relying on external libraries for advanced features. AVIF support, added in version 2.3.2, allows encoding and decoding of this modern format via the libavif library, offering high compression efficiency for web-optimized images while preserving quality and supporting features like . support is built-in, providing read/write capabilities for various Windows bitmap variants without external dependencies. , also built-in, handles Targa images commonly used in graphics applications, supporting uncompressed and compressed variants. HEIF support, added in version 2.3.2 via the libheif library, enables handling of High Efficiency Image Format files, including containers, for efficient storage and transmission. GIF, a palette-based format, has been supported since the library's early versions but was temporarily removed due to LZW patent restrictions by ; support was restored in version 2.0.28 in 2004 after patent expiration, including native handling of GIF animations. JPEG images are handled through the Independent JPEG Group's or libjpeg-turbo libraries, providing with adjustable quality levels and progressive loading for faster web rendering, though advanced variants like are not included. PNG, integrated via libpng, supports , truecolor depths, alpha channel transparency, and interlacing for progressive display; it became a core format in GD following its development in 1995 as a patent-free alternative to GIF. WebP support, introduced around version 2.2 and enhanced in later releases, uses the libwebp library to enable both lossy and lossless modes, along with transparency and animation, making it suitable for optimizing image sizes in web contexts without significant quality loss. WBMP, a simple monochrome bitmap format originally for wireless devices, is natively implemented without dependencies, supporting basic black-and-white image I/O. The library's format evolution reflects web standards, with early emphasis on GIF and PNG transitioning to inclusion of AVIF, HEIF, and in version 2.3.2 and beyond for better efficiency and modern browser compatibility; however, it lacks support for vector formats like .

Drawing Capabilities

The GD Graphics Library provides a suite of basic graphical primitives for creating vector-based drawings on images. These include functions to draw lines using the Bresenham algorithm, dashed lines, arcs, ellipses, rectangles, closed and open polygons, and filled variants of shapes such as arcs, ellipses, rectangles, and polygons. Line thickness can be adjusted for subsequent operations, and in truecolor mode, is supported for lines and wireframe polygons through a direct blending method that smooths jagged edges by mixing foreground and background colors. Text rendering in GD is facilitated through built-in support for simple character and string drawing in fixed-width fonts, oriented horizontally or vertically. For more advanced , the library integrates with the library to render fonts, enabling strings with customizable colors, point sizes, angles for rotation, and anti-aliased output for smoother edges. This allows styled text placement with precise bounding box calculations to position elements accurately within images. Color management in GD operates in two primary modes: palette-based images limited to 256 colors, where colors are allocated from an index and can be made transparent, and truecolor mode supporting 24-bit or 32-bit depths with up to 16 million colors plus an alpha channel. In truecolor images, alpha blending is enabled by default, allowing semi-transparent drawing operations that composite colors based on alpha values ranging from 0 (opaque) to 127 (fully transparent), which is essential for overlays and effects. Colors can be deallocated to free palette entries, and truecolor values are composed from , , , and alpha components. Image manipulation tools in GD enable resizing with resampling methods including nearest neighbor for speed and for quality, rotation using , cropping to specified rectangles, and copying or pasting sub-images with optional merging and resizing. These operations support both palette and truecolor s, preserving where applicable. Advanced features include algorithms that replace pixels starting from a point until a color is reached or a non-matching color halts the fill, useful for coloring irregular regions. styles are implemented by setting a image—a small palette-based —that tiles along lines and outlines for textured strokes, while tiled fills apply repeating patterns to areas. All drawing is automatically clipped to the image bounds to prevent overflow.

API and Implementation

Core API Functions

The core API of the GD Graphics Library is provided and centers on functions for creating, manipulating, and outputting images, enabling programmatic generation of graphics such as charts, diagrams, and simple illustrations. These functions operate on gdImagePtr structures, which represent images in memory, supporting both palette-based (up to 256 colors) and truecolor modes with alpha channel . Image creation begins with functions that allocate memory for a new . The gdImageCreate(int sx, int sy) function initializes a palette-based image of specified width (sx) and height (sy) pixels, returning a pointer to the image or on failure; it supports up to 256 colors and is suitable for simple, color-limited graphics. For more versatile applications requiring full RGB and alpha blending, gdImageCreateTrueColor(int sx, int sy) creates a truecolor image with the same dimensions, also returning a pointer or . Both functions initialize the image with a transparent or black background, depending on the mode, and require subsequent color allocation before drawing. Drawing primitives form the foundation for rendering geometric shapes and text. The gdImageLine(gdImagePtr im, int x1, int y1, int x2, int y2, int color) function draws a straight line between two points using the Bresenham algorithm for efficiency, with coordinates specified in pixels and color as an index allocated earlier. For curves, gdImageArc(gdImagePtr im, int cx, int cy, int w, int h, int s, int e, int color) renders an elliptical centered at (cx, cy) with width w and height h, spanning from start angle s to end angle e in degrees (0 to 360). Text rendering uses gdImageStringFT(gdImagePtr im, int *brect, int fg, const char *fontlist, double ptsize, double angle, int x, int y, const char *string), which draws strings with fonts, optionally rotating by angle radians and returning a bounding rectangle in brect; it requires library linkage for and precise . Image manipulation functions allow for color management, filling, and . Colors are defined via int gdImageColorAllocate(gdImagePtr im, int r, int g, int b), which adds an opaque RGB color to the palette (or truecolor map) and returns its index, or -1 if the palette is full. Area filling is handled by void gdImageFill(gdImagePtr im, int x, int y, int color), which performs a from the starting point (x, y) using the specified color, stopping at boundaries of differing colors. For scaling and copying, void gdImageCopyResized(gdImagePtr dst, gdImagePtr src, int dstX, int dstY, int srcX, int srcY, int dstW, int dstH, int srcW, int srcH) transfers a rectangular region from src to dst, resizing it via if dimensions differ, with positions and sizes defining the source and destination rectangles. Input and output operations support common formats through dedicated functions. To load images, gdImagePtr gdImageCreateFromPng(FILE *inFile) reads a PNG from an open file stream, returning the image pointer or NULL on error, without closing the file. Similarly, gdImagePtr gdImageCreateFromJpeg(FILE *inFile) loads a truecolor JPEG, handling progressive and baseline variants. For saving, void gdImagePng(gdImagePtr im, FILE *outFile) writes the image as PNG to an open file with default compression (level -1), while void gdImageJpeg(gdImagePtr im, FILE *outFile, int quality) outputs JPEG with a quality parameter from 0 (lowest) to 95 (highest). Memory-based variants like void *gdImagePngPtr(gdImagePtr im, int *size) return allocated PNG data and its length for in-memory handling. Memory management is essential for resource cleanup, with void gdImageDestroy(gdImagePtr im) freeing all allocated memory for the image, including pixels and colors; failure to call this leads to leaks in long-running applications. Error handling across functions relies on return values (e.g., NULL for creation failures) or side effects like unchanged images on invalid parameters, promoting robust code through checks. These core functions form the basis for higher-level bindings in languages like and .

Language Bindings and Integrations

The GD Graphics Library provides native support through its C API, but wrappers enable integration with various high-level programming languages, facilitating image manipulation in diverse environments. In , is integrated as a built-in extension that has been available since version 4.3, released in 2002, allowing developers to create and process images directly within PHP scripts. Key functions include imagecreate() for allocating truecolor images and imagepng() for outputting files, among others for drawing lines, arcs, and text. The extension is enabled during PHP compilation using the --with-gd option, which bundles the GD library or links to an external installation. For , the GD.pm module offers an object-oriented to the core GD functions, enabling the creation of color drawings and export to formats like . Developed as a wrapper for libgd version 2.01 or higher, GD.pm includes classes such as GD::Image for image objects and GD::Polygon for geometric shapes, making it suitable for dynamic graphics generation in applications. Python bindings for GD exist through third-party packages and low-level mechanisms, though there is no official support from the GD project or Python core. Options include the gdmodule, a Python extension that interfaces with libgd for drawing and saving as or , and ctypes-based wrappers for direct library calls. Another package, py-gd, provides Pythonic wrappers around libgd functions for robust image drawing. These bindings are typically installed via or compiled from source, but adoption remains limited compared to more comprehensive libraries like . Other languages have dedicated ports: supplies bindings for , exporting GD functions to draw lines, polygons, arcs, and text in Lua scripts. For Tcl, extensions like tcl.gd and gdtclft provide interfaces to libgd, supporting nearly complete feature parity for image creation and manipulation. Additionally, the "Fly" interpreter serves as a command-line tool for , executing GD operations from text files to generate images without compiling custom code. Compilation and linking of require external dependencies for full functionality, including libpng for PNG support and (or libjpeg-turbo) for JPEG handling, along with zlib for compression. These libraries must be installed prior to building , which supports cross-platform deployment on systems, Windows, and macOS through standard configure scripts or .

Applications and Usage

In

The GD Graphics Library plays a pivotal role in server-side image generation for web applications, particularly through its integration with , where it enables developers to create and manipulate images dynamically without relying on processing. This capability is essential for systems like , where plugins leverage GD to generate thumbnails, watermarks, and other visual elements on-the-fly in response to user interactions or data updates. For instance, when users upload images to a site, GD-powered functions automatically resize and optimize them to fit predefined dimensions, ensuring consistent display across pages while maintaining server efficiency. Common tasks facilitated by GD in web development include resizing uploaded images to prevent oversized files from slowing down page loads, creating images to enhance form security by generating distorted text overlays on backgrounds, and plotting data visualizations such as graphs or charts from database queries. In generation, GD functions like imagecreate and imagestring allow for the creation of randomized alphanumeric strings rendered with noise lines and colors to deter automated submissions. Similarly, for data plotting, developers use GD to draw lines, fills, and text on resources, producing or outputs that can be embedded directly in via <img> tags sourced from scripts. These operations are particularly valuable in dynamic environments where content varies per request, such as user-generated forums or real-time analytics dashboards. Performance considerations are critical when using for web-scale applications, as the library loads entire images into , potentially consuming significant for high-resolution files—often requiring at least 32 bits per uncompressed. To mitigate this, developers implement caching strategies, such as saving generated images to disk or using libraries like Gregwar\Image that store processed outputs with expiration times, avoiding regeneration on subsequent requests and reducing server load by up to 100 times in high-traffic scenarios. limits in configurations must also be adjusted, typically to 128MB or more, to handle large batches without fatal errors. Historically, enabled early dynamic web graphics in the pre-CSS and era, allowing scripts to produce raster images for elements like buttons, logos, and diagrams when browser-native vector support was limited, thus powering interactive sites from the late 1990s onward. Today, it remains in use for legacy compatibility in established systems, where migrating to modern alternatives like Canvas API or would require extensive refactoring. Practical examples include scripts in platforms that use to generate product image variants, such as cropped thumbnails for listings or watermarked previews for catalogs, ensuring variants match device-specific sizes without storing multiples upfront. In forum applications, processes user avatars by resizing and applying borders, integrating seamlessly with 's imagecopyresampled for anti-aliased scaling. These implementations highlight 's enduring utility in server-side workflows, often via the binding for straightforward integration.

Other Applications

Beyond its foundational role in web imagery, the GD Graphics Library has found significant application in scientific visualization, particularly in bioinformatics and . Originally developed at the Quest Protein Database Center at , was employed to generate dynamic images for rendering protein-related data plots and molecular diagrams, enabling efficient visualization of complex biological datasets on early web-accessible databases. In broader bioinformatics tools, such as the mfold secondary software, supports the creation of graphical outputs depicting folding patterns and energy plots, facilitating analysis in research. These uses leverage 's lightweight C implementation to produce publication-quality or visuals from raw scientific data, such as sequences or heat maps, without requiring heavy graphical frameworks. In resource-constrained environments, GD's compact footprint suits integration into embedded systems, including IoT devices running lightweight operating systems. Available as a package in OpenEmbedded/Yocto Project builds for embedded Linux, GD enables simple on-device graphics generation, such as status icons or sensor data visualizations on displays with limited RAM and CPU. This portability stems from its pure C core, avoiding dependencies on full GUI libraries, thus supporting real-time image manipulation in firmware for applications like remote monitoring dashboards. GD also extends to report generation and archival processing in non-web contexts. In , it creates charts (e.g., or graphs) that can be converted to PDF via tools like , embedding vector-like visuals into business or scientific reports for static distribution. For archival purposes, GD facilitates batch image optimization and format conversion in preservation pipelines, ensuring long-term compatibility for digital collections by applying filters, resizing, or compositing without altering originals. Notable projects incorporating GD include , an open-source mathematics system, where the library underpins dynamic plotting of functions, graphs, and geometric objects to produce exportable images for educational and research outputs. In bioinformatics, custom tools built around GD, such as extensions in modules for EMBL gene plotting, demonstrate its ongoing utility in generating wide-format visuals (e.g., over 8000 pixels) for and publication.

References

  1. [1]
    About - LibGD
    The library was originally developed by Thomas Boutell and is now maintained by Pierre Joye and many valuable contributors, under the umbrella of PHP.net.Missing: history | Show results with:history
  2. [2]
    License - LibGD
    Image Formats. BMP IO · GD IO · GD2 IO · GIF Input · GIF Output · JPEG IO · PNG IO · TGA Input · TIFF IO · WBMP IO · WebP IO · XBM IO · XPM Input · Color ...Missing: Graphics | Show results with:Graphics
  3. [3]
    libgd/libgd: GD Graphics Library - GitHub
    GD is an open source code library for the dynamic creation of images by programmers. GD is written in C, and wrappers are available for Perl, PHP and other ...
  4. [4]
    GD - Manual - PHP
    When using the current GD methodologies, you are reading content from an image and manipulating it. By then writing that content to a brand new file, you are ...
  5. [5]
    GD Graphics Library
    You can download the 2.3.3 version of GD Graphics Library from the libgd 2.3.3 release. Check out the full commits list since the previous release ...DownloadsAbout
  6. [6]
    [Chapter 6] 6.3 The gd Graphics Library - O'Reilly
    The gd graphics library, though not as powerful as PostScript, allows us to quickly and easily create dynamic images.
  7. [7]
  8. [8]
    gd 2.0.34 - LibGD
    Version 2.0.21 adds a gdImageCreateFrom*Ptr family of functions which make it convenient to load an image in any GD-supported format directly from memory.
  9. [9]
  10. [10]
    FreshPorts -- graphics/gd: Graphics library for fast creation of images
    gd is a graphics library. It allows your code to quickly draw images complete with lines, arcs, text, multiple colors, cut and paste from other images, and ...
  11. [11]
    graphics/gd - pkgsrc.se | The NetBSD package collection
    ./graphics/gd, Graphics library for the dynamic creation of images. [ CVSweb ] ... Based on a patch by osa@, thanks! This site is operated by pkgsrc.pub, Contact.
  12. [12]
    gd 1.2 - Test Page
    gd is a graphics library. It allows your code to quickly draw images complete with lines, arcs, text, multiple colors, cut and paste from other images, and ...
  13. [13]
    GD - Interface to Gd Graphics Library - metacpan.org
    GD.pm is a Perl interface to Thomas Boutell's gd graphics library (version 2.01 or higher; see below). GD allows you to create color drawings using a large ...<|control11|><|separator|>
  14. [14]
    Frequently Asked Questions - LibGD
    Support for creating GIF animations is also available. Note that gdlib-config --features can be used to list the image formats supported by gd. Versions of ...
  15. [15]
    LibGD 2.3.2 release AVIF & HEIF support
    Mar 7, 2021 · Added: avif: Support for AVIF images via libavif (#494); heif: Support for HEIF/AVIF images via libheif (#395) (#557); webp: Drop .
  16. [16]
    GIF Support Returns to GD - Slashdot
    Jul 22, 2004 · And now, with the expiration of the last Unisys patent on the GIF format, support for GIFs has finally been reinserted in gd. The GIF/PNG/MNG ...
  17. [17]
    LibGD 2.3.0 release
    ### Summary of New Format Support in LibGD 2.3.0
  18. [18]
  19. [19]
    imageantialias - Manual - PHP
    The `imageantialias` function activates fast drawing antialiased methods for lines and wired polygons, using a direct blend operation on truecolor images.
  20. [20]
    FreeType font rendering - LibGD
    This function has to be called whenever FreeType operations have been invoked, to avoid resource leaks. It doesn't harm to call this function multiple times.<|control11|><|separator|>
  21. [21]
    /home/pierre/projects/libgd/releases/libgd_2.3.3/builds/docs/tmp/gd.c
    Below is a summary of the core C API functions for the GD Graphics Library, categorized as requested, extracted from the provided content (https://libgd.github.io/manuals/2.3.3/files/gd-c.html). Function signatures, brief descriptions, and important parameters are included.
  22. [22]
  23. [23]
  24. [24]
  25. [25]
  26. [26]
  27. [27]
  28. [28]
  29. [29]
  30. [30]
  31. [31]
  32. [32]
  33. [33]
  34. [34]
  35. [35]
  36. [36]
    Installation - Manual - PHP
    GD library requires libpng and libjpeg to compile. As of PHP 7.4.0, --with-gd becomes --enable-gd (whether to enable the extension at all) and --with-external ...
  37. [37]
    Solomoriah/gdmodule: Python GD module, originally by ... - GitHub
    GD module is an interface to the GD library written by Thomas Boutell. gd is a graphics library. It allows your code to quickly draw images.Missing: bindings | Show results with:bindings
  38. [38]
    NOAA-ORR-ERD/py_gd: python wrappers for libgd ... - GitHub
    py-gd aims to provide nice Pythonic wrappers around libgd -- a robust, fast, and simple drawing lib.
  39. [39]
    ittner/lua-gd: Lua bindings to the LibGD - GitHub
    Lua-GD is a "binding": a library that exports gd functions to the Lua Programming Language, allowing you to use gd from Lua.
  40. [40]
    tcl.gd - by flightaware
    Overview. This is tcl.gd, a new Tcl interface to the GD drawing library that is nearly 100% feature complete with GD, far more complete with gd 2 than Gdtclft.Missing: port | Show results with:port
  41. [41]
    WP_Image_Editor_GD – Class - WordPress Developer Resources
    Sep 15, 2017 · Resizes current image. Wraps `::_resize()` which returns a GD resource or GdImage instance. At minimum, either a height or width must be provided.Missing: processing | Show results with:processing
  42. [42]
    Simple Captchas with PHP and GD - SitePoint
    Mar 5, 2014 · The GD (Graphics Draw) library in PHP can be used to create captcha images, which typically consist of a shape, distortion, and text. · The ...
  43. [43]
    Does the GD library use a lot of memory? - Stack Overflow
    Jan 13, 2010 · GD use a lot of memory. It loads the image into memory entirely and uncompresses it, so you will need at least 32 bits per pixel.PHP GD memory usage very low VS very high - Stack OverflowA fail-safe way to prevent GD image library from running out of ...More results from stackoverflow.com
  44. [44]
    Gregwar/Image: A PHP library to handle images - GitHub
    The Gregwar\Image class purpose is to provide a simple object-oriented images handling and caching API.
  45. [45]
    The power of caching GD images - SayNoToFlash
    Jan 14, 2025 · Caching GD images can be 100 times faster, reducing generation time from 4 seconds to 0.04 seconds, and is useful for high traffic websites.
  46. [46]
    GD library - easly create or edit images (via a command line)
    The GD library is an open-source library for creating and editing images via command line, often used in web applications, and integrated with PHP.Missing: Fly interpreter
  47. [47]
    Resize Image in PHP: A Developer's Guide to Efficient ... - Cloudinary
    May 12, 2025 · When resizing images with the GD library, always use imagecreatetruecolor() instead of imagecreate() . This ensures you get true color images, ...
  48. [48]
    Technology Hall Of Fame: The Programs That Make This Possible
    GD is a fast GIF/graphics file creation library written by Thomas Boutell (originally at the Quest Protein Database Center). It along with GD.pm (the Perl ...
  49. [49]
    Acknowledgment - BioWeb
    Sherman, and this uses the gd 1.2 graphics library developed by Thomas Boutell, 1994, 1995, Quest Protein Database Center, Cold Spring Harbor Laboratory.
  50. [50]
    [PDF] pdf - Introduction to Bioinformatics
    This well-documented module hides a lot of the underlying complexity and links to the gd graphics library written by Tom. Boutell. • Depending on the ...
  51. [51]
    gd 2.2.4 - OpenEmbedded Layer Index
    gd is a library used to create PNG, JPEG, or WBMP images · The gd graphics library allows your code to quickly draw images complete with lines, arcs, text, ...
  52. [52]
    PHP: How to render PDF reports containing charts? - Stack Overflow
    May 10, 2011 · I want to create PDF reports containing some pie/bar charts. I have to create them with my PHP web app and cannot use commandline tools.Create graphs with PHP and export to PDF - Stack OverflowPlotting a graph with GD - php - Stack OverflowMore results from stackoverflow.com
  53. [53]
    libgd: Dynamic graphics generation tool - Packages and Features
    GD is an open source code library for the dynamic creation of images by programmers. GD is written in C, and “wrappers” are available for Perl, PHP and other ...