]>
Commit | Line | Data |
---|---|---|
02d1d628 AMH |
1 | #!perl -w |
2 | use Imager; | |
3 | ||
4 | =head1 NAME | |
5 | ||
6 | makegrad.perl - builds a large gradient image for quant.c benchmarking | |
7 | ||
8 | =head1 SYNOPSIS | |
9 | ||
10 | perl makegrad.perl | |
11 | ||
12 | =cut | |
13 | ||
14 | # a trans2 script to produce our pretty graduation | |
15 | my $hsv = <<'EOS'; | |
16 | y cy - x cx - atan2 pi / 180 * !hue | |
17 | 1 1 x cx / y cy / distance !sat | |
18 | @hue @sat 1 hsv | |
19 | EOS | |
20 | ||
21 | my $img = Imager::transform2({rpnexpr=>$hsv, width=>600, height=>600}) | |
22 | or die "transform2 failed: $Imager::ERRSTR"; | |
23 | ||
24 | $img->write(file=>'hsvgrad.png', type=>'png') | |
25 | or die "Write to hsvgrad.png failed: ", $img->errstr; | |
26 | ||
27 | # trans2 code to produce RGB tiles | |
28 | my $rgb = <<'EOS'; | |
29 | 8 !tilesper | |
30 | w @tilesper / !tilex | |
31 | h @tilesper / !tiley | |
32 | x @tilex % @tilex / 255 * !red | |
33 | y @tiley % @tiley / 255 * !green | |
34 | x @tilex / int | |
35 | y @tiley / int @tilesper * + @tilesper @tilesper * / 255 * !blue | |
36 | @red @green @blue rgb | |
37 | EOS | |
38 | $img = Imager::transform2({rpnexpr=>$rgb, width=>600, height=>600}) | |
39 | or die "transform2 failed: $Imager::ERRSTR"; | |
40 | $img->write(file=>'rgbtile.png', type=>'png') | |
41 | or die "write to rgbtile failed: ",$img->errstr; |