我编写了这段代码,该代码应该在图像底部绘制一条1px的黑线,但它没有按预期工作,并且会生成一个完全黑色的图像:
$img = imagecreatefrompng("image.png");
$dest = imagecreatetruecolor(50, 25);
imagecopy($dest, $img, 0, 0, $px + $position[$pos][0], $py + $position[$pos][1] , 50, 25);
$w = imagesx($dest);
$h = imagesy($dest);
$out = ImageCreateTrueColor(imagesx($dest),imagesy($dest)) or die('Problem In Creating image');
for( $x=0; $x<$w; $x++) {
imagesetpixel($out, $x, $h, imagecolorallocate($out, 0, 0, 0));
}
问题出在哪里?
答案 0 :(得分:1)
您的$y
未设置,我认为这只是一个错字,您已设置$h
,而是使用$y
。
答案 1 :(得分:1)
问题是你在$out
图片上画了一行,其中没有任何内容。
$img
(原始版本)。$dest
$img
调整为$dest
$out
$out
。 $out
永远不会获得原始图片或已调整大小的图片的副本,因此它会保持默认的全黑图像。然后,您在黑色图像上绘制一条黑线......最后是黑色图像。