プログラムソース
HomePage

検索語 :
1 | #!/usr/local/bin/perl
2 | ###################################################
3 | #grade.cgi グラデーションプログラム
4 | #          2003.06.17 MARCO
5 | #       edit 2003.06.22 MARCO
6 | #
7 | # パーミッション
8 | #       grade.cgi(755)
9 | ###################################################
10 |
11 | ############ 設定項目 ##############
12 | #ページタイトル
13 | $page_title='グラデーション';
14 | #分割数
15 | $devid=10;
16 | ######################################
17 |
18 | #フォームからのデータを取得
19 | use CGI;
20 | $form=CGI->new();
21 | $scolor=$form->param("scolor");
22 | $ecolor=$form->param("ecolor");
23 |
24 | #初期値は乱数でをセット
25 | if($scolor eq ''){
26 |   $wr=sprintf("X",rand(256));
27 |   $wg=sprintf("X",rand(256));
28 |   $wb=sprintf("X",rand(256));
29 |   $scolor="$wr$wg$wb";
30 | }
31 | if($ecolor eq ''){
32 |   $wr=sprintf("X",rand(256));
33 |   $wg=sprintf("X",rand(256));
34 |   $wb=sprintf("X",rand(256));
35 |   $ecolor="$wr$wg$wb";
36 | }
37 |
38 | $rsc=substr($scolor,0,2);
39 | $gsc=substr($scolor,2,2);
40 | $bsc=substr($scolor,4,2);
41 | $rec=substr($ecolor,0,2);
42 | $gec=substr($ecolor,2,2);
43 | $bec=substr($ecolor,4,2);
44 | $rx=hex($rec)-hex($rsc);
45 | $gx=hex($gec)-hex($gsc);
46 | $bx=hex($bec)-hex($bsc);
47 |
48 | #HTML出力
49 | print "Content-type: text/html\n\n";
50 | print "<html><head>";
51 | print "<title>$page_title</title></head>\n";
52 | print "<body>\n";
53 | print "<CENTER><font size=5><b>$page_title</b></font><br><br>\n";
54 | print "<form action=grade.cgi method=POST>\n";
55 | print "開始色と終了色を16進数で入力すると途中の色を計算します<br>\n";
56 | print "開始色:<input type=text size=8 name=scolor value=$scolor><br>\n";
57 | print "終了色:<input type=text size=8 name=ecolor value=$ecolor><br>\n";
58 | print "<input type=submit value=送信>\n";
59 | print "</form>\n";
60 | print "<TABLE border=0 width=80%>\n";
61 | for($i=0;$i<=$devid;$i ){
62 |   $rval=hex($rsc) int($rx*($i/$devid));
63 |   $gval=hex($gsc) int($gx*($i/$devid));
64 |   $bval=hex($bsc) int($bx*($i/$devid));
65 |   $wr=sprintf("X",$rval);
66 |   $wg=sprintf("X",$gval);
67 |   $wb=sprintf("X",$bval);
68 |   $wcolor="#$wr$wg$wb";
69 |   print "<TR><TD><font color=$wcolor>■<b>$wcolor</b></font></TD>\n";
70 |   print "<TD width=80% bgcolor=$wcolor></TD></TR>\n";
71 | }
72 | print "</TABLE></CENTER>\n";
73 | print "</body></html>\n";
74 | exit;