#!perl -w use Imager; =head1 NAME makegrad.perl - builds a large gradient image for quant.c benchmarking =head1 SYNOPSIS perl makegrad.perl =cut # a trans2 script to produce our pretty graduation my $hsv = <<'EOS'; y cy - x cx - atan2 pi / 180 * !hue 1 1 x cx / y cy / distance !sat @hue @sat 1 hsv EOS my $img = Imager::transform2({rpnexpr=>$hsv, width=>600, height=>600}) or die "transform2 failed: $Imager::ERRSTR"; $img->write(file=>'hsvgrad.png', type=>'png') or die "Write to hsvgrad.png failed: ", $img->errstr; # trans2 code to produce RGB tiles my $rgb = <<'EOS'; 8 !tilesper w @tilesper / !tilex h @tilesper / !tiley x @tilex % @tilex / 255 * !red y @tiley % @tiley / 255 * !green x @tilex / int y @tiley / int @tilesper * + @tilesper @tilesper * / 255 * !blue @red @green @blue rgb EOS $img = Imager::transform2({rpnexpr=>$rgb, width=>600, height=>600}) or die "transform2 failed: $Imager::ERRSTR"; $img->write(file=>'rgbtile.png', type=>'png') or die "write to rgbtile failed: ",$img->errstr;