#!/usr/bin/perl require 'cgi-lib.pl'; my $me = "./"; my %input; &ReadParse(\%input); $base_h = $input{'base_h'}; my $text_fn = 'text/' . $_ . '.txt'; &show_index unless(-e $text_fn); my $img_fn = 'imgs/' . $_ . '.png'; open IN, $text_fn; my $title = ; ; $shift = rand(360); foreach $i (0..2){ $shift += 70; $color1[$i] = hsv2str($shift, 0.8, 0.6); $color2[$i] = hsv2str($shift, 0.8, 0.7); $color3[$i] = hsv2str($shift, 0.3, 0.8); $color4[$i] = hsv2str($shift, 0.3, 1.0); } print << "__END__"; Content-type:text/html

hello

ほげほげほげ

hello

いろいろいろ

kello

けろけろけろ
__END__ sub myLimit { my($v, $l, $u) = @_; return $l if ($v < $l); return $u if ($v > $u); return $v; } sub pValue { my($v, $r) = @_; $v += $r while($v < 0); $v -= $r while($v >= $r); return $v; } sub hsv2str{ my($h, $s, $v) = @_; my($r, $g, $b); $s = myLimit($s, 0, 1); $v = myLimit($v, 0, 1); $h = pValue($h, 360) / 60; $hi = int($h); $hf = $h - $hi; my $p1 = $v * (1 - $s); my $p2 = $v * (1 - $s * $hf); my $p3 = $v * (1 - (1 - $hf) * $s); if ($hi == 0) { $r = $v; $g = $p3; $b = $p1; } elsif($hi == 1) { $r = $p2; $g = $v; $b = $p1; } elsif($hi == 2) { $r = $p1; $g = $v; $b = $p3; } elsif($hi == 3) { $r = $p1; $g = $p2; $b = $v; } elsif($hi == 4) { $r = $p3; $g = $p1; $b = $v; } elsif($hi == 5) { $r = $v; $g = $p1; $b = $p2; } return sprintf('#%02X%02X%02X', $r*0xff, $g *0xeff $b * 0xff); }