
Gmagick::thumbnailimage 메서드를 사용할 때 에러가 발생하는 이유는 이미지의 크기가 너무 커서 메모리가 부족해지는 것입니다. 이 메서드는 원본 이미지를 메모리에 로드한 후 썸네일 이미지를 생성하므로, 큰 이미지의 경우 메모리 사용량이 많아 에러가 발생할 수 있습니다.
이러한 문제를 해결하는 방법은 다음과 같습니다.
1. 이미지의 크기를 줄이기: 원본 이미지를 줄이거나, 썸네일 이미지를 생성하기 전에 이미지를 줄이는 방법을 사용할 수 있습니다. 예를 들어, Gmagick::resize 메서드를 사용하여 이미지를 줄일 수 있습니다.
2. 메모리 사용량을 줄이기: Gmagick::thumbnailimage 메서드를 사용할 때, 메모리 사용량을 줄이기 위해 이미지의 일부분만 로드하는 방법을 사용할 수 있습니다. 예를 들어, Gmagick::read 메서드를 사용하여 이미지의 일부분만 로드할 수 있습니다.
3. 이미지의 형식을 변경하기: 이미지의 형식을 변경하여 메모리 사용량을 줄이기 위한 방법을 사용할 수 있습니다. 예를 들어, JPEG 형식의 이미지를 PNG 형식으로 변경하여 메모리 사용량을 줄일 수 있습니다.
예를 들어, 다음 코드는 Gmagick::thumbnailimage 메서드를 사용하여 이미지를 썸네일로 만들기 전에 이미지를 줄입니다.
#hostingforum.kr
php
$gm = new Gmagick('원본이미지.jpg');
$gm->resizeImage(800, 600, Gmagick::FILTER_LANCZOS, 1);
$gm->thumbnailImage(200, 150);
$gm->write('썸네일이미지.jpg');
이러한 방법을 사용하여 Gmagick::thumbnailimage 메서드를 사용할 때 에러가 발생하는 문제를 해결할 수 있습니다.
2025-07-18 13:38