在PHP中複製圖像變量的最簡單方法是什麼?複製圖像變量GD庫
通常你可以簡單地做$varnew = $varold
。
但是,如果我做了上述操作並且編輯了$ varnew,那麼使用GD庫變量,那麼$ varold也會生效。
很明顯,一種方法是重新打開文件或製作新圖像並將其複製到其中。有更容易的方法嗎?
在PHP中複製圖像變量的最簡單方法是什麼?複製圖像變量GD庫
通常你可以簡單地做$varnew = $varold
。
但是,如果我做了上述操作並且編輯了$ varnew,那麼使用GD庫變量,那麼$ varold也會生效。
很明顯,一種方法是重新打開文件或製作新圖像並將其複製到其中。有更容易的方法嗎?
的原因,你的嘗試沒有成功是因爲該變量只存儲一個句柄(內存指針)的GD圖像。 $varnew
和$varold
將仍然存儲相同的指針,從而指向內存中完全相同的圖像。您必須使用imagecopy,或者更糟糕的是,可以再次從文件打開圖像。
您可以使用imagecopy
使用:
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;
}