在图像底部画一条黑线,PHP

时间:2012-02-23 17:02:25

标签: php image

我编写了这段代码,该代码应该在图像底部绘制一条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));
    }

问题出在哪里?

2 个答案:

答案 0 :(得分:1)

您的$y未设置,我认为这只是一个错字,您已设置$h,而是使用$y

答案 1 :(得分:1)

问题是你在$out图片上画了一行,其中没有任何内容。

  1. 您加载$img(原始版本)。
  2. 您创建了$dest
  3. 您将$img调整为$dest
  4. 您创建了$out
  5. 您在$out
  6. 上画线

    $out永远不会获得原始图片或已调整大小的图片的副本,因此它会保持默认的全黑图像。然后,您在黑色图像上绘制一条黑线......最后是黑色图像。