Go to file
Ben Morss f2aa2836ed
AVIF support (#671)
Demand for AVIF support on the web is growing, as the word gets out
about this new file format which allows higher-quality encoding at
smaller sizes.  Core contributors to major open-source CMSs are
interested in auto-generating AVIF images! They've been simply
waiting for support to appear in libgd.

This PR aims to meet the growing demand, and to help bring smaller,
more beautiful images to more of the web - to sites created by
experienced developers and CMS users alike.

This PR adds support by incorporating libavif in addition to the
existing libheif support.  It's generally felt that libavif has
more complete support for the AVIF format. libavif is also used
by the Chromium project and squoosh.app.

In this PR, I've endeavored to incorporate the latest research into
best practices for AVIF encoding - not just for default quantizer
values, but also an algorithm for determining the number of
horizontal tiles, vertical tiles, and threads.

Fixes #557.
2021-03-03 21:35:56 -05:00
.github/workflows a few more shellcheck fixes 2021-02-08 18:18:27 -05:00
VMS VMS/README.VMS: Add dropping support information (#614) 2020-03-26 23:43:03 +08:00
cmake HEIF support through libheif (#670) 2021-03-02 12:32:03 -05:00
config fix #303: gdlib.pc: use Requires instead of Libs (#537) 2020-06-18 14:55:32 +08:00
docs AVIF support (#671) 2021-03-03 21:35:56 -05:00
examples AVIF support (#671) 2021-03-03 21:35:56 -05:00
m4 Upgrade AX_REQUIRE_DEFINED macro file 2018-09-06 00:32:54 -04:00
src AVIF support (#671) 2021-03-03 21:35:56 -05:00
test Remove one more outstanding Makefile.am 2013-04-08 09:21:16 +02:00
tests AVIF support (#671) 2021-03-03 21:35:56 -05:00
travis AVIF support (#671) 2021-03-03 21:35:56 -05:00
windows AVIF support (#671) 2021-03-03 21:35:56 -05:00
.gitignore gitignore: update Windows tools 2021-02-02 21:59:15 -05:00
.travis.yml .travis.yml: close config warning and info (#642) 2020-05-28 14:58:44 +08:00
CHANGELOG.md release-2.3.1 (#668) 2021-01-30 15:16:05 +08:00
CMakeLists.txt AVIF support (#671) 2021-03-03 21:35:56 -05:00
CODE_OF_CONDUCT.md Update CODE_OF_CONDUCT.md 2020-03-22 21:40:02 +08:00
CONTRIBUTING.md clean up trailing whitespace/newlines 2018-06-21 22:47:42 -04:00
CONTRIBUTORS AVIF support (#671) 2021-03-03 21:35:56 -05:00
COPYING clean up trailing whitespace/newlines 2018-06-21 22:47:42 -04:00
Makefile.am Makefile.am: Add CHANGELOG.md CONTRIBUTING.md 2020-03-22 21:40:02 +08:00
README.md AVIF support (#671) 2021-03-03 21:35:56 -05:00
appveyor.yml convert all files to native line encodings 2018-06-21 21:44:54 -04:00
bootstrap.sh bootstrap: tweak sed script to try and make it pass on macOS 2021-02-20 03:28:06 -05:00
configure.ac AVIF support (#671) 2021-03-03 21:35:56 -05:00

README.md

GD Graphics (Draw) Library

Build Status Build Status Chat codecov.io

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 languages. GD can read and write many different image formats. GD is commonly used to generate charts, graphics, thumbnails, and most anything else, on the fly.

The most common applications of GD involve website development, although it can be used with any standalone application!

The library was originally developed by Thomas Boutell and is now maintained by many contributors (see the CONTRIBUTORS file) under the umbrella of PHP.net.

If you like to contribute, report bugs, see how to contribute document

For security related issues, please contact us at security@libgd.org

Downloads/etc...

Please visit our homepage for more details.

Supported Image Formats

GD has builtin support for:

It also has optional support for more formats via external libraries:

Besides that, GD depends on some external libraries, which are all optional and disabled by default:

  • FreeType for rendering fonts
  • Fontconfig for configuring and customizing font access
  • libraqm for complex text layout
  • libimagequant for conversion of RGBA images to 8-bit indexed-color images
    • NOTE libimagequant is dual-licensed: GPLv3 and commercial license