我想改变图像的颜色(几乎变成红色),但我只创建了一行半。 为什么呢?
<?php
$imgname = "test/test.png";
$im = imagecreatefrompng($imgname);
$w = imagesx($im); // image width
$h = imagesy($im); // image height
for($i=0;$i<$w;$i++){
for($j=0;$j<$h;$j++){
$color=imagecolorallocatealpha ($im, 255, 0, 0,255);
imagesetpixel ($im, $i, $j, $color);
}
}
$imgname = "test/result.png";
imagepng($im, $imgname ); // save image as png
imagedestroy($im);
echo "<img src='test/result.png'>";
?>
如果我在“for”之前移动“imagecolorallocatealpha”它可以工作......但是将来我需要每个都有不同的颜色px
答案 0 :(得分:0)
alpha
参数(函数imagecolorallocatealpha
中的最后一个)应介于0和127之间。您的值255超出范围。如果你使它适合the specifications,你的代码就可以在我的机器上运行。