サイトのバックグラウンドを作ろうとしています。
超コードがひよっこですが、ご照覧を。。。
(知り合いの方からsprintfを使えば、%xで16進数としてとれる、ということを教わりました。その方が断然簡単ですね!)
<html><head><style type="text/css"><!--table {font-size:0.8em;}--> </style><body > <?php function deg2sixteen($deg){//10~15までをa~fに変換 switch($deg){case 10:$deg="a";break;case 11:$deg="b";break;case 12:$deg="c";break;case 13:$deg="d";break;case 14:$deg="e";break;case 15:$deg="f";break;}//i switch end return $deg;} echo "<table border='0' cellspacing='0' cellpadding='0'><tr>";//sell-paddingの値を0にする必要があった。 for($n=0;$n<4;$n++){//RGBそれぞれ2色ずつのテーブルをつくるループ echo"<td><table border='0' cellspacing='0' cellpadding='0'>"; for($y=0;$y<16;$y++){//第一のカラーを0~15まで推移させる。 echo"<tr>\n"; if($n<2){$y2=15-$y;$yc=deg2sixteen($y2);}//この二行で上下を逆に。 else{$yc=deg2sixteen($y);} for($x=0;$x<16;$x++){//第二のカラーを0~15まで推移させる。 if($n%2==0){$xa=15-$x;$xc=deg2sixteen($xa);}//この二行で左右を逆に。 else{$xc=deg2sixteen($x);} $y2=$yc."0";$x2=$xc."0";$z2="00";//ここで二ケタに変換 switch($n){//ここでRGBから二色を選ぶ振り分け。 case 0:echo"<td bgcolor='#".$z2.$y2.$x2."'>#0".$yc.$xc."</td>\n";break; case 1:echo"<td bgcolor='#".$x2.$y2.$z2."'>#0".$yc.$xc."</td>\n";break; case 2:echo"<td bgcolor='#".$y2.$z2.$x2."'>#".$yc."0".$xc."</td>\n";break; case 3:echo"<td bgcolor='#".$y2.$z2.$x2."'>#".$yc."0".$xc."</td>\n";break; }//$n switch end }//j for end echo"</tr>\n"; }//i for end echo"</table></td>"; if($n%2==1){echo"</tr><tr>";} }//for n end echo"</tr></table>"; echo "<table border='0' cellspacing='0' cellpadding='0'><tr>";//sell-paddingの値を0にする必要があった。 for($n=0;$n<4;$n++){//RGBそれぞれ2色ずつのテーブルをつくるループ echo"<td><table border='0' cellspacing='0' cellpadding='0'>"; for($y=0;$y<16;$y++){//第一のカラーを0~15まで推移させる。 echo"<tr>\n"; if($n<2){$y2=15-$y;$yc=deg2sixteen($y2);}//この二行で上下を逆に。 else{$yc=deg2sixteen($y);} for($x=0;$x<16;$x++){//第二のカラーを0~15まで推移させる。 if($n%2==0){$xa=15-$x;$xc=deg2sixteen($xa);}//この二行で左右を逆に。 else{$xc=deg2sixteen($x);} $y2=$yc."0";$x2=$xc."0";$z2="00";//ここで二ケタに変換 switch($n){//ここでRGBから二色を選ぶ振り分け。 case 0:echo"<td bgcolor='#".$y2.$z2.$x2."'>#".$yc."0".$xc."</td>\n";break; case 1:echo"<td bgcolor='#".$y2.$z2.$x2."'>#".$yc."0".$xc."</td>\n";break; case 2:echo"<td bgcolor='#".$z2.$y2.$x2."'>#0".$yc.$xc."</td>\n";break; case 3:echo"<td bgcolor='#".$z2.$y2.$x2."'>#0".$yc.$xc."</td>\n";break; }//$n switch end }//j for end echo"</tr>\n"; }//i for end echo"</table></td>"; if($n%2==1){echo"</tr><tr>";} }//for n end echo"</tr></table>"; ?> </body> </html>
0 件のコメント:
コメントを投稿