2010-06-15 6 views
4

PHP에서 이미지 변수를 복제하는 가장 쉬운 방법은 무엇입니까?이미지 변수 GD 라이브러리 복제

일반적으로 간단히 $varnew = $varold을 할 수 있습니다.

그러나 GD 라이브러리 변수를 사용하면 위의 작업을 수행 한 다음 $ varnew를 편집하면 $ varold도 영향을받습니다.

분명히 한 가지 방법은 파일을 다시 열거 나 새 이미지를 만들어 파일에 복사하는 것입니다. 더 쉬운 방법이 있습니까?

답변

4

사용할 수있는 변수 만 GD 이미지에 대한 핸들 (메모리 포인터)를 저장하기 때문에 작동하지 않았다 당신의 시도는 이유. $varnew$varold은 여전히 ​​동일한 포인터를 저장하므로 메모리에서 똑같은 이미지를 가리 킵니다. imagecopy을 사용하거나 파일에서 이미지를 다시 열어야합니다.

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; 

    }