Skip to content

Latest commit

 

History

History
69 lines (49 loc) · 2.68 KB

README.md

File metadata and controls

69 lines (49 loc) · 2.68 KB

This is a collection of png images created to test png applications like viewers, converters and editors. The majority of formats supported by the PNG standard are represented.

The original PngSuite is published at http://www.schaik.com/pngsuite/ by Willem van Schaik. This repo brings PngSuite to GitHub for easy cloning and extends it in various ways.

Folder structure

The original png files are included as well as various other formats to aid with testing.

  • png/ All original png images contained in PngSuite-2017jul19.
  • bmp/ The png images converted to bmp format using Paint.net (assuming conversions were made using .NET framework).
  • json/ The png images converted to json arrays in [r,g,b,a,...] format. For 16-bit depth png files there is also a copy with the _to8 suffix to test conversions, note that due to the loss of fidelity using these in tests may hit rounding errors as it depends on the 16->8 bit algorithm used.

PNG capabilities

Supported color-types are:

  • 0 - grayscale
  • 2 - rgb
  • 3 - indexed
  • 4 - grayscale + alpha-channel
  • 6 - rgb + alpha-channel

Allowed bit-depths depend on the color-type, but are in the range of 1-bit (grayscale, which is b&w) upto 16-bits.

Special features are:

  • interlacing (Adam-7)
  • gamma-support
  • transparency

File naming

Where possible, the test-files are 32x32 bits icons. This results in a still reasonable size of the suite even with a large number of tests. The name of each test-file reflects the type in the following way:

    filename:                               g04i2c08.png
                                            ││ ││││
    test feature (in this case gamma) ──────┘│ ││││
    parameter of test (here gamma-value) ────┘ ││││
    interlaced or non-interlaced ──────────────┘│││
    color-type (numerical) ─────────────────────┘││
    color-type (descriptive) ────────────────────┘│
    bit-depth ────────────────────────────────────┘

color-type:

  • 0g - grayscale
  • 2c - rgb color
  • 3p - indexed
  • 4a - grayscale + alpha channel
  • 6a - rgb color + alpha channel

bit-depth:

  • 01 - with color-type 0, 3
  • 02 - with color-type 0, 3
  • 04 - with color-type 0, 3
  • 08 - with color-type 0, 2, 3, 4, 6
  • 16 - with color-type 0, 2, 4, 6

interlacing:

  • n - non-interlaced
  • i - interlaced