The following samples test various formats of PROM/MAGN & PAST chunk handling.
The first row of samples show the use of PROM, MAGN & PAST. All three should look identical.
The first is a PNG reference image, the second & third are MNG samples that use a small embedded 10x1 indexed PNG image
with cheap transparency (a fully opaque to fully transparent ramp), 'PROM'ote it to 8- and 16-bit respectively,
then 'MAGN'ify it to 19x120 pixels (lineair interpolation in X direction and replication in Y direction)
and finally 'PAST'e it onto an object created from a BASI-IEND sequence with 25% opaque red pixels.
The 'BACK'ground is solid white, so you should see alternating stripes of white fading to soft-red fading to white again.
The paste operations alternately use orientation 0 and 4.
If the samples do not match your MNG decoder does not peroprly handle either the PROM, MAGN or PAST operation.
Check for PROM errors with the PROM samples. The delta-image samples also make use of MAGN,
so checking with those will determine if MAGN or PAST are not handled correctly.
Note that implementations using libmng 1.0.4 or earlier will not work correctly!
The following sets show more use of the PAST chunk. Here, several images from the PNGsuite are 'PAST'ed with
compose over/replace and compose under onto a destination object that was first created with a PAST operation with orientation = 8.
This first 'PAST'e uses an internal object created in the same manner as above from the 10x1 PNG image.
The first sample of each set of two is a PNG reference image. The second is the actual MNG sample.
The first set is based on 8-bit operation and the second set on 16-bit.
The first row in each sample is created with PAST composition = 0 and orientation = 2, the second,
composition = 1 and orientation = 4 and the third with composition = 2 and orientation = 6.