#!/usr/bin/perl # # Test writing PNG images # # Contributed by Bob Friesenhahn # BEGIN { $| = 1; $test=1; print "1..6\n"; } END {print "not ok $test\n" unless $loaded;} use Image::Magick; $loaded=1; require 't/subroutines.pl'; chdir 't/png' || die 'Cd failed'; # # 1) Test Black-and-white, bit_depth=1 PNG # print( "1-bit grayscale PNG ...\n" ); testReadWrite( 'input_bw.png', 'output_bw.png', q/quality=>95/, '5a5b600153abaaf82dc9086272d01bedc4201d14b614c18cb4e9c6d1581c9023'); # # 2) Test monochrome image # ++$test; print( "8-bit grayscale PNG ...\n" ); testReadWrite( 'input_mono.png', 'output_mono.png', '', 'a8d79029f6ced36f904659dda5ea67a6bab5e602b1033aa29c7f1b45b35c1178'); # # 3) Test 16-bit Portable Network Graphics # ++$test; print( "16-bit grayscale PNG ...\n" ); testReadWrite( 'input_16.png', 'output_16.png', q/quality=>55/, 'd4bed86abb1849f69f1a5afb7c5cf8798e8192ba228357f189c277198c14f5a0', '4036b56c00d731a2865470815eabc177dc158af2abacb34ef95c7e716ec2da60' ); # # 4) Test pseudocolor image # ++$test; print( "8-bit indexed-color PNG ...\n" ); testReadWrite( 'input_256.png', 'output_256.png', q/quality=>54/, '26687d6be46b4e1ca5201a47caa7dad660245c5f4517835ab6e19f2f84fc4a03' ); # # 5) Test truecolor image # ++$test; print( "24-bit Truecolor PNG ...\n" ); testReadWrite( 'input_truecolor.png', 'output_truecolor.png', q/quality=>55/, '76f43f03e51c8608bfca7ff96d3936148ad855782968a017ea03cccbeebff64d' ); # # 6) Test Multiple-image Network Graphics # ++$test; print( "MNG with 24-bit Truecolor PNGs ...\n" ); testReadWrite( 'input.mng', 'output.mng', q/quality=>55/, '5a883e67c29d7bb27897ec7a3f3cb3fb0330fb43aef4360e8314503cb37fae09' );