Skip to content

Latest commit

 

History

History
409 lines (407 loc) · 13.6 KB

FORMATS.md

File metadata and controls

409 lines (407 loc) · 13.6 KB
N Image Format Can Load Cannot Load Can Save Cannot Save Dependencies
1 APNG Grayscale: 1-bit, 2-bit, 4-bit, 8-bit, 16-bit. Indexed: 1-bit, 2-bit, 4-bit, 8-bit. RGB: 24-bit, 48-bit. RGBA: 32-bit, 64-bit.

Content: Static, Animated, Meta data, ICC profiles.

Special properties: Key: "apng-frames". Description: Number of frames in the animation. Possible values: unsigned int. Key: "apng-plays". Description: Number of plays of the animation. Possible values: unsigned int.
Blend operations with pixel formats other than BPP16-GRAYSCALE-ALPHA, BPP32-GRAYSCALE-ALPHA, BPP32-RGBA, BPP64-RGBA. Unsupported - libpng+APNG patch
2 AVIF YUV: 8-bit, 10-bit, 12-bit.

Content: Static, Animated, Meta data, ICC profiles.
- Unsupported - libavif
3 BMP Indexed: 1-bit, 4-bit, 8-bit (DIB only). RGB: 16-bit, 24-bit, 32-bit.

Compressions: NONE, RLE4, RLE8.

BMP Versions: V1 (DDB), V2, V3, V4, V5.

Content: Static, Meta data, ICC profiles.
Indexed: 8-bit (in DDB images).

Compressions: ALPHABITFIELDS, BITFIELDS, CMYK, CMYK-RLE4, CMYK-RLE8, JPEG, PNG.

BMP Versions: OS/2.
Unsupported - -
4 GIF Indexed: 8-bit.

Content: Static, Animated, Meta data.
- Unsupported - giflib
5 ICO and CUR Bit depth: Same to BMP.

Content: Static, Multi-paged.

Special properties: Key: "cur-hotspot-x". Description: X coordinate of the hotspot. Possible values: unsigned int. Key: "cur-hotspot-y". Description: Y coordinate of the hotspot. Possible values: unsigned int.
PNG contained images Unsupported - -
6 JPEG Grayscale: 8-bit. RGB: 565 16-bit[1], 24-bit. BGR:[1] 24-bit. YCbCr: 24-bit. RGBA:[1] 32-bit. BGRA:[1] 32-bit. ARGB:[1] 32-bit. ABGR:[1] 32-bit. CMYK: 32-bit. YCCK: 32-bit.

Content: Static, Meta data, ICC profiles.
- Grayscale: 8-bit. RGB: 565 16-bit[1], 24-bit. BGR:[1] 24-bit. YCbCr: 24-bit. RGBA:[1] 32-bit. BGRA:[1] 32-bit. ARGB:[1] 32-bit. ABGR:[1] 32-bit. CMYK: 32-bit. YCCK: 32-bit.

Content: Static, Meta data, ICC profiles.

Tuning: Key: "jpeg-dct-method". Description: JPEG DCT method. Possible values: "slow", "fast", "float".
Key: "jpeg-optimize-coding". Description: Compute optimal Huffman tables. Possible values: true or false.
Key: "jpeg-smoothing-factor". Description: Smooth the image. Possible values: Unsigned int range from 1U to 100U.
See the libjpeg docs for more.
- libjpeg or libjpeg-turbo
7 JPEG 2000 Grayscale: 8-bit, 16-bit. RGB: 24-bit, 48-bit. YCbCr: 24-bit. RGBA: 32-bit, 64-bit.

Content: Static.
Pixel formats: YCCK, CMYK, LAB, XYZ, and other.

Content: Meta data, ICC profiles, images with non-zero position, images with bits per channel greater than 16.
Unsupported - jasper
8 JPEG XL Grayscale: 8-bit, 16-bit. RGB: 24-bit, 48-bit. RGBA: 32-bit, 64-bit. CMYK: 32-bit, 64-bit. CMYKA: 40-bit, 80-bit.

Content: Static, Animated, Meta data, ICC profiles.

Special properties: Key: "jpegxl-bits-per-sample". Possible values: unsigned int.
Key: "jpegxl-exponent-bits-per-sample". Possible values: unsigned int.
Key: "jpegxl-intensity-target". Possible values: float.
Key: "jpegxl-min-nits". Possible values: float.
Key: "jpegxl-relative-to-max-display". Possible values: bool.
Key: "jpegxl-linear-below". Possible values: float.
Key: "jpegxl-color-channels". Possible values: unsigned int.
Key: "jpegxl-extra-channels". Possible values: unsigned int.
Key: "jpegxl-alpha-bits". Possible values: unsigned int.
Key: "jpegxl-intrinsic-width". Possible values: unsigned int.
Key: "jpegxl-intrinsic-height". Possible values: unsigned int.
See the JxlBasicInfo structure documentation in libjxl for more.
Wide color gamut data gets clipped. Unsupported - -
9 PCX Indexed: 1-bit, 4-bit, 8-bit. RGB: 24-bit. RGBA: 32-bit.

Content: Static.

Compressions: NONE[2], RLE.
- Unsupported - -
10 PNG Grayscale: 1-bit, 2-bit, 4-bit, 8-bit, 16-bit. Indexed: 1-bit, 2-bit, 4-bit, 8-bit. RGB: 24-bit, 48-bit. RGBA: 32-bit, 64-bit.

Content: Static, Meta data, ICC profiles.
- Grayscale: 1-bit, 2-bit, 4-bit, 8-bit, 16-bit. Indexed: 1-bit, 2-bit, 4-bit, 8-bit. RGB: 24-bit, 48-bit. RGBA: 32-bit, 64-bit.

Content: Static, Meta data, ICC profiles.

Tuning: Key: "png-filter". Description: PNG filters to apply. Possible values: "none", "sub", "up", "avg", "paeth". It's also possible to combine filters with ';' like that: "none;sub;paeth".
See the libpng docs for more.
- libpng
11 PNM Grayscale: 8-bit, 16-bit. Indexed: 1-bit. RGB: 24-bit, 48-bit.

Content: Static, Meta data.

Special properties: Key: "pnm-ascii". Description: True if the image pixels are encoded in ASCII mode. Possible values: bool.
- Unsupported - -
12 PSD Grayscale: 8-bit, 16-bit. Indexed: 1-bit, 8-bit. RGB: 24-bit, 48-bit. RGBA: 32-bit, 64-bit.

Compressions: NONE, RLE.

Content: Static (Preview Image Only).
Grayscale: 32-bit. RGB: 96-bit. RGBA: 128-bit. Pixel formats: Multichannel, Duotone, LAB.

Compressions: ZIP.

Content: Layers, masks, etc.
Unsupported - -
13 QOI RGB: 24-bit. RGBA: 32-bit.

Content: Static.
Linear color space. RGB: 24-bit. RGBA: 32-bit.

Content: Static.
Linear color space. -
14 SVG Bit depth: 32-bit.

Content: Static.

See resvg support table when compiled with resvg.
Content: Animated, Meta data, ICC profiles.

See resvg support table when compiled with resvg.
Unsupported - resvg or nanosvg
15 TGA Grayscale: 8-bit. Indexed: 8-bit. RGB: 24-bit. RGBA: 32-bit.

Content: Static, Meta data.
Content: Thumbnail images. Unsupported - -
16 TIFF Bit depth: 1-bit, 2-bit, 4-bit, 8-bit, 16-bit, 24-bit, 32-bit, 48-bit, 64-bit.

Compressions:[1] ADOBE-DEFLATE, CCITT-RLE, CCITT-RLEW, CCITT-T4, CCITT-T6, DCS, DEFLATE, IT-8BL, IT8-CTPAD, IT8-LW, IT8-MP, JBIG, JPEG, JPEG-2000, LERC, LZMA, LZW, NEXT, NONE, OJPEG, PACKBITS, PIXAR-FILM, PIXAR-LOG, SGI-LOG24, SGI-LOG, T43, T85, THUNDERSCAN, WEBP, ZSTD.

Content: Static, Multi-paged, Meta data, ICC profiles.
- RGBA: 32-bit.

Compressions:[1] ADOBE-DEFLATE, CCITT-RLE, CCITT-RLEW, CCITT-T4, CCITT-T6, DCS, DEFLATE, IT-8BL, IT8-CTPAD, IT8-LW, IT8-MP, JBIG, JPEG, JPEG-2000, LERC, LZMA, LZW, NEXT, NONE, OJPEG, PACKBITS, PIXAR-FILM, PIXAR-LOG, SGI-LOG24, SGI-LOG, T43, T85, THUNDERSCAN, WEBP, ZSTD.

Content: Static, Multi-paged, Meta data, ICC profiles.
- libtiff
17 WAL Indexed: 8-bit.

Content: Static, Multi-paged.
- Unsupported - -
18 WEBP Bit depth: 24-bit, 32-bit.

Content: Static, Animated, Meta data, ICC profiles.
- Unsupported - libwebp
19 XBM Bit depth: 1-bit.

Content: Static.

Specifications: X10, X11.
Content: Multi-paged, C-style /*...*/ comments. Unsupported - -

References

  1. If supported by the underlying codec like libjpeg.
  2. Even though uncompressed PCX files are not considered valid by the spec.