0

画像の色を変えたい(ほぼ赤くなります)のですが、1行半しか作成していません。なぜ?

<?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」を移動すると機能します...しかし、将来的には、それぞれ異なる色のピクセルを使用する必要があります

4

1 に答える 1

0

alphaパラメーター ( function の最後のパラメーターimagecolorallocatealpha) は 0 から 127 の間である必要があります。値 255 は範囲外です。仕様に合うようにすれば、あなたのコードは私のマシンで動作します。

于 2012-09-03T12:36:49.693 に答える