Image-PNG-Rewriter
view release on metacpan or search on metacpan
open my $f, '<', \$gd_png;
my $re = Image::PNG::Rewriter->new(handle => $f);
$re->refilter((0) x $h);
my @random_filters = map { int(rand(5)) } 1 .. $h;
$re->refilter(@random_filters);
my $re_png = $re->as_png;
{
GD->import('GD_CMP_IMAGE');
my $gd2 = GD::Image->newFromPngData($re_png, 1);
ok(!($gd->compare($gd2) & GD::GD_CMP_IMAGE()));
}
open my $f2, '<', \$re_png;
my $re2 = Image::PNG::Rewriter->new(handle => $f2);
is_deeply(\@random_filters, [$re2->original_filters]);
( run in 0.710 second using v1.01-cache-2.11-cpan-0a6323c29d9 )