我有下面的代码从数据库中提取十六进制值并创建该颜色的图像。有一千多个值,所以它循环为它们创建一个图像。它似乎工作正常,只是它只是不断覆盖第一个图像(0.jpg)而不是创建新图像 0.jpg、1.jpg 2.jpg 等。知道我哪里出错了吗?
哦,是的,我也在其中将十六进制转换为 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++;
}
?>