サイトのバックグラウンドを作ろうとしています。
超コードがひよっこですが、ご照覧を。。。
(知り合いの方から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 件のコメント:
コメントを投稿