在PHP中复制图像变量的最简单方法是什么。
通常您只需执行$varnew = $varold
。
但如果我使用GD库变量,如果我做了上述操作然后编辑了$ varnew,那么$ varold也会受到影响。
显然,一种方法是重新打开文件或制作新图像并将其复制到其中。有更简单的方法吗?
答案 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;
}