Skip to content

v0.1.0 — Initial release

Latest

Choose a tag to compare

@belisoful belisoful released this 05 Sep 09:37
· 9 commits to main since this release

First public release of php-image — a standalone PHP image container, metadata,
and codec library (no framework dependency).

Containers (read + write, every carrier each format defines):

  • JPEG, TIFF (strips/tiles, all photometrics), PNG (incl. APNG), WebP/RIFF,
    GIF87a/89a (animation, frames, palettes) — byte-faithful round trips.

Metadata:

  • EXIF: full TIFF/IFD engine through Exif 3.1 (CIPA DC-008-2026), incl. the
    UTF-8 field type, GPS, IFD1 thumbnails, Kodak APP3 Meta, and makernote
    decoding for 13 camera makers (makernote offsets preserved on rewrite).
  • XMP (DOM-backed, ISO 16684-1, extended XMP), Photoshop 8BIM IRB, IPTC (IIM),
    JFIF/JFXX, PrintIM, APP12 Picture Info, JUMBF/APP11, Exif WAVE audio.
  • Fully read-write ICC profiles with a pure-PHP matrix/TRC colour transform.
  • First-class privacy scrubbing (clearPrivateData()) across every carrier.

Codecs & raster: LZW, GIF-LZW, PackBits, CCITT fax, horizontal predictor;
dual GD/ImageMagick raster conversion behind one facade.

Streaming (opt-in): fromStreamLazy() + streamTo() rewrite metadata on a
file too large to hold in memory, copying the pixel payload straight through
(PNG/WebP/JPEG/GIF/TIFF). Whole-parse remains the default.

Requirements: PHP 8.1+, psr/http-message. ext-gd / ext-imagick /
ext-iconv suggested (raster conversion and IPTC charset conversion).

0.x: the public API is not yet frozen and may change before 1.0.0.