复制图像变量GD库

时间:2010-06-15 18:15:42

标签: php gd

在PHP中复制图像变量的最简单方法是什么。

通常您只需执行$varnew = $varold

但如果我使用GD库变量,如果我做了上述操作然后编辑了$ varnew,那么$ varold也会受到影响。

显然,一种方法是重新打开文件或制作新图像并将其复制到其中。有更简单的方法吗?

3 个答案:

答案 0 :(得分:4)

您的尝试不起作用的原因是因为变量只存储GD图像的句柄(内存指针)。 $varnew$varold都将存储相同的指针,从而指向内存中完全相同的图像。您必须使用imagecopy,或者更糟糕的是,再次从文件中打开图像。

答案 1 :(得分:2)

您可以使用imagecopy

答案 2 :(得分:2)

使用此:

function cloneImg($img){
    //get dimensions
    $w = imagesx($img);
    $h = imagesy($img);
     //copy process
    $copy = imagecreatetruecolor($w, $h);
    imagecopy($copy, $img, 0, 0, 0, 0, $w, $h);

    return $copy;

  }