PngSuite
created by Willem van Schaik |
The "official" test-suite for PNGThis is a collection of graphics images created to test PNG applications like viewers, converters and editors. As far as that is possible, all formats supported by the PNG standard are represented.
Web pagesFor each test-set there is an html-page containing the PNG images. And for reference purposes another page is provided with the same pictures in a GIF-format.
DownloadingFor off-line testing you better download the whole suite as a Unix tar-ball or in a Windows zip-file. |
PNG capabilitiesSupported color-types are:
Allowed bit-depths are depending on the color-type, but are in the range of 1-bit (grayscale, which is b&w) upto 16-bits. Special features are:
File namingWhere 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:
|
Basic formatsThese are basic test images in all of the standard PNG b/w, color and paletted formats.[ PngSuite - basic / PNG-files | PngSuite - basic / GIF-files ] |
InterlacingThese are the same basic test images but now using Adam-7 interlacing.[ PngSuite - interlaced / PNG-files | PngSuite - interlaced / GIF-files ] |
Odd sizesThese tests are there to check if your software handles pictures well, with less obvious picture sizes. This is particularly important with Adam-7 type interlacing. In the same way these tests check if pictures size 1 x 1 and similar are ok.[ PngSuite - sizes / PNG-files | PngSuite - sizes / GIF-files ] |
Background colorsWhen the PNG file contains a background chunk, this should be used for pictures with alpha-channel or pictures with a transparency chunk. For pictures without this background-chunk, but with alpha, this test-set assumes a black background.For the images in this test, the left-side should be 100% the background color, where moving to the right the color should gradually become the image pattern.
[ PngSuite - background / PNG-files | PngSuite - background / GIF-files ] |
TransparencyTransparency should be used together with a background chunk. To test the combination of the two the latter 4 tests are there. How to handle pictures with transparency, but without a background, opinions can differ. Here we use black, but especially in the case of paletted images, the normal color would maybe even be better.
[ PngSuite - transparency / PNG-files | PngSuite - transparency / GIF-files ] |
Gamma valuesTo test if your viewer handles gamma-correction, (3x) 6 test-files are available. They contain corrected color-ramps and a corresponding gamma-chunk with the file-gamma value. These are created in such a way that when the viewer does the gamma correction right, all 6 should be displayed identical.If they are different, probably the gamma correction is omitted. In that case, have a look at the two right columns in the 6 pictures. The image where those two look the same (when looked from far) reflects the gamma of your system. However, because of the limited size of the image, you should do more elaborate tests to determine your display gamma. For comparisons, three pages with GIF images are available. Depending on the display gamma of your system, select the NeXT-, the Mac- or the PC-version.
[ PngSuite - gamma / PNG-files
| PngSuite - gamma / GIF-files (PC) |
|
Image filteringPNG uses file-filtering, for optimal compression. Normally the type is of filtering is adjusted to the contents of the picture, but here each file has the same picture, with a different filtering.
[ PngSuite - filters / PNG-files | PngSuite - filters / GIF-files ] |
Additional palettesBesides the normal use of paletted images, palette chunks can in combination with true-color (and other) images also be used to select color lookup-tables when the video system is of limited capabilities. The suggested palette chunk is specially created for this purpose.
[ PngSuite - filters / PNG-files | PngSuite - filters / GIF-files ] |
Ancillary chunksTo test the correct decoding of ancillary chunks, these test-files contain one or more examples of these chunks. Depending on the type of chunk, a number of typical values are selected to test. Unluckily, the test-set can not contain all combinations, because that would be an endless set.The significant bits are used in files with the next higher bit-depth. They indicate how many bits are valid.
For the physical pixel dimensions, the result of each decoding should be a square picture. The first (cdf) image is an example of flat (horizontal) pixels, where the pHYS chunk (x is 1 per unit, y = 4 per unit) must take care of the correction. The second is just the other way round. The last example uses the unit specifier, for 1000 pixels per meter. This should result in a picture of 3.2 cm square.
The chromaticity chunk defines the rgb and whitepoint coordinates according to the 1931 CIE Committee XYZ color space.
PNG files can contain a chunk giving a histogram of the colors in the image.
The time chunk specifies when the picture last was modified (or created).
In the textual chunk, a number of the standard and some non-standard text items are included. Text can optionally be compressed.
The exif chunk was added to PNG in 2017 to contain exif data typically added by digital cameras to JPEG images.
[ PngSuite - chunks / PNG-files | PngSuite - chunks / GIF-files ] |
Chunk orderingThese testfiles will test the obligatory ordering relations between various chunk types (not yet) as well as the number of data chunks used for the image.
[ PngSuite - order / PNG-files | PngSuite - order / GIF-files ] |
Zlib compression levelHere you will find a set of images compressed by zlib, ranging from level 0 for no compression at maximum speed upto level 9 for maximum compression.
[ PngSuite - compression / PNG-files | PngSuite - compression / GIF-files ] |
Corrupted filesAll these files are invalid PNG images. When decoding they should generate appropriate error-messages.
[ PngSuite - corrupt / PNG-files | PngSuite - corrupt / GIF-files ] |