Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/visual-studio-2010/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 图像px的改变_Php_Gd - Fatal编程技术网

Php 图像px的改变

Php 图像px的改变,php,gd,Php,Gd,我想更改图像的颜色(几乎变成红色),但我只创建了一行半。 为什么? 如果我将“imagecolorallocatealpha”移到“for”之前,它会工作。。。但在将来,我将需要每个都有一个不同的颜色px,alpha参数(函数imagecoloralallocatealpha中的最后一个)应该介于0和127之间。您的值255超出范围。如果您使其适合,您的代码将在我的机器上运行。我怀疑您只能分配有限数量的颜色。即使它们完全相同。但我对此不确定。请尝试在for循环之前回显$w和$h的值。你看到了

我想更改图像的颜色(几乎变成红色),但我只创建了一行半。 为什么?



如果我将“imagecolorallocatealpha”移到“for”之前,它会工作。。。但在将来,我将需要每个都有一个不同的颜色px,
alpha
参数(函数
imagecoloralallocatealpha
中的最后一个)应该介于0和127之间。您的值255超出范围。如果您使其适合,您的代码将在我的机器上运行。

我怀疑您只能分配有限数量的颜色。即使它们完全相同。但我对此不确定。请尝试在for循环之前回显$w和$h的值。你看到了什么价值观?
<?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'>";
?>