データベースから 16 進値を取得し、その色のイメージを作成するコードを以下に示します。千を超える値があるため、それらすべてのイメージを作成するためにループしています。新しい画像 0.jpg、1.jpg 2.jpg などを作成するのではなく、最初の画像 (0.jpg) を上書きし続けることを除けば、問題なく動作しているようです。
そうそう、私はそこでも16進数をRGBに変換していますが、それはうまくいきます。
<?php
require ('connect.php');
$sql = mysql_query("SELECT * FROM hex")
or die(mysql_error());
while($colors = mysql_fetch_array( $sql ))
{
$x = 0;
$imgname = $x.".jpg";
$color = $colors['value'];
if (strlen($color) == 6)
list($r, $g, $b) = array($color[0].$color[1],
$color[2].$color[3],
$color[4].$color[5]);
$r = hexdec($r); $g = hexdec($g); $b = hexdec($b);
header("Content-type: image/jpeg");
$image = imagecreate( 720, 576 );
imagecolorallocate($image,$r, $g, $b);
imagejpeg($image, $imgname);
imagedestroy($image);
$x++;
}
?>