Дублировать библиотеку изображений GD

Самый простой способ дублировать переменную изображения в PHP.

Обычно вы можете просто выполнить $varnew = $varold .

Но с переменной библиотеки GD, если бы я сделал выше, а затем отредактировал $ varnew, тогда будет выполнен и $ varold.

Очевидно, одним из способов было бы открыть файл или создать новое изображение и скопировать его в него. Есть ли более простой способ?

Solutions Collecting From Web of "Дублировать библиотеку изображений GD"

Причина, по которой ваша попытка не срабатывала, заключается в том, что переменная хранит только дескриптор (указатель памяти) для изображения 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; }