
Gmagick::minifyimage를 사용하여 이미지를 압축할 때, 원본 이미지가 JPEG 형식이라면 압축이 잘 되는데 PNG 형식의 이미지를 압축했을 때는 압축이 잘 안 되는 이유는 PNG 형식의 이미지를 압축하는 데 사용되는 알고리즘과 옵션의 차이 때문입니다.
JPEG 형식의 이미지를 압축하는 데 사용되는 알고리즘은 JPEG 압축 알고리즘을 사용하며, 이 알고리즘은 이미지를 압축하는 데 사용되는 비트를 최소화하는 데 중점을 둡니다. 반면 PNG 형식의 이미지를 압축하는 데 사용되는 알고리즘은 PNG 압축 알고리즘을 사용하며, 이 알고리즘은 이미지를 압축하는 데 사용되는 비트를 최소화하는 데 중점을 둡니다.
Gmagick::minifyimage의 옵션 중에 사용할 수 있는 옵션은 다음과 같습니다.
- `Gmagick::MINIFY_IMAGE_JPEG` : JPEG 형식의 이미지를 압축하는 데 사용되는 옵션입니다.
- `Gmagick::MINIFY_IMAGE_PNG` : PNG 형식의 이미지를 압축하는 데 사용되는 옵션입니다.
위의 코드를 사용하여 PNG 형식의 이미지를 압축했을 때, 압축이 잘 안 되는 원인은 PNG 압축 알고리즘을 사용하지 않았기 때문입니다. 따라서 Gmagick::minifyimage의 옵션 중에 `Gmagick::MINIFY_IMAGE_PNG`을 사용해야 합니다.
위의 코드를 사용하여 PNG 형식의 이미지를 압축했을 때, 압축이 잘 되도록 수정한 코드는 다음과 같습니다.
#hostingforum.kr
php
use Imagick;
$image = new Imagick('원본이미지.png');
$image->minifyImage(Gmagick::MINIFY_IMAGE_PNG);
$image->writeImage('압축된이미지.png');
이 코드를 사용하면 PNG 형식의 이미지를 압축하는 데 사용되는 PNG 압축 알고리즘을 사용할 수 있습니다.
2025-07-18 09:07