
Gmagick::nextimage 함수는 이전에 읽은 이미지를 반환하는 것이 아닌, 현재 읽은 이미지를 반환하는 함수입니다.
이러한 문제는 Gmagick::readimage 함수가 이미지를 읽는 방식에 의해 발생합니다. Gmagick::readimage 함수는 이미지를 읽은 후에 Gmagick 객체의 내부 버퍼에 이미지를 저장합니다.
이미지 파일을 여러개 읽은 후에 이전에 읽은 이미지를 반환받으려면, Gmagick::readimage 함수를 호출할 때마다 Gmagick::nextimage 함수를 호출하는 대신, Gmagick 객체의 내부 버퍼를 초기화하는 방법을 사용할 수 있습니다.
Gmagick 객체의 내부 버퍼를 초기화하는 방법은 Gmagick::clear 함수를 호출하는 것입니다.
예를 들어, 다음과 같이 코드를 작성할 수 있습니다.
#hostingforum.kr
php
$gm = new Gmagick();
$gm->readimage('image1.jpg');
$gm->clear(); // 내부 버퍼 초기화
$gm->readimage('image2.jpg');
$gm->clear(); // 내부 버퍼 초기화
$gm->readimage('image3.jpg');
echo $gm->nextimage(); // image3.jpg 반환
이러한 방법을 사용하면, 이미지 파일을 여러개 읽은 후에 이전에 읽은 이미지를 반환받을 수 있습니다.
2025-04-06 10:15