ImageMagick – 파일 크기 줄이기

Imagemagick Pail Keugi Jul Igi



아름답고 큰 그림은 그저 훌륭합니다. 일반적으로 엄청난 품질이 수반됩니다. 그러나 크기가 너무 큰 사진을 가질 여유가 없는 경우가 많습니다. 때때로 원하는 것은 적당한 크기의 그림이거나 특정 크기보다 작은 그림입니다. 이러한 경우 프로그래머가 원하는 모든 것은 품질과 크기 사이의 중간 지점을 찾는 방법입니다. 이론적으로 품질을 모두 포기하면 파일 크기가 문제가 되지 않아야 하지만 실제 문제는 품질과 파일 크기 사이의 절충점을 찾는 것입니다. 이 자습서에서는 ImageMagick을 사용하여 (품질을 너무 많이 손상시키지 않고) 사진의 파일 크기를 줄이는 방법에 대해 논의할 것입니다.

ImageMagick 설치

이를 위해서는 ImageMagick이 필요하므로 먼저 설치하겠습니다.







스도 적절한 설치 설치 이미지 매직



품질 스위치

사진/그림/동영상의 크기를 줄이는 첫 번째이자 가장 쉬운 방법은 사진의 품질을 줄이는 것입니다. 품질 스위치는 JPEG/MIFF/PNG 압축 수준을 나타냅니다. JPEG 및 MPEG의 경우 품질 1은 가장 높은 압축 수준과 가장 낮은 이미지 품질을 나타내고 100은 가장 낮은 압축 수준과 최상의 품질을 나타냅니다.



예를 들어 보겠습니다. 내가 찍은 나무 사진은 해상도가 4624×3468이고 5.70226MiB이다. 이것은 원본 사진인 JPEG입니다.






이제 요점은 이미지의 크기를 줄이고 싶다는 것입니다. 따라서 품질 스위치 설정을 약간 다른 것으로 설정하고 어떤 일이 발생하는지 살펴보겠습니다.

변환 tree_4624x3468.jpg -품질 75 tree_4624x3468_quality75.jpg
변환 tree_4624x3468.jpg -품질 25 tree_4624x3468_quality25.jpg



한 사진은 품질을 75로, 다른 사진은 25로 줄였습니다. 원본 이미지는 5.70226MiB였지만 품질 75인 이미지는 2.74664MiB, 품질 25인 이미지는 1358250(1.295MiB)이 되었습니다. 여기에서는 개인적으로 75% 품질로 가겠습니다.



이제 사진의 실제 품질도 중요하므로 사진을 보여드리겠습니다.


tree_4624x3468_quality75.jpg


tree_4624x3468_quality25.jpg

보시다시피 품질은 크게 영향을 받지 않았지만 파일 크기는 더 작아졌습니다.

이제 PNG로 동일한 작업을 시도했으며 이것이 내가 얻은 것입니다.


따라서 23501600B(22.413MiB)에서 22.2854MiB로 변경되었습니다. JPEG의 경우 5.70226MiB에서 1.295MiB로 변경되었습니다. PNG와 같은 비손실 형식의 경우 품질 전환이 훨씬 더 어렵습니다.

사진 크기 조정

사진 크기 조정은 또 다른 방법입니다. 예를 들어:

변환 tree_4624x3468.jpg -크기 조정 오십 % x50 % tree_4624x3468_resize50 % .jpg



분명히 알 수 있듯이 4624×3468인 사진은 5.70226MiB인 반면 2312×1734인 사진은 1.56287MiB에 불과합니다.

정의 스위치

정의 스위치 뒤에는 키와 해당 값이 옵니다.

-키{=값} 정의…

가능한 키 값 목록은 다음에서 찾을 수 있습니다. .

PNG의 경우 png:compression-level=value를 사용할 수 있습니다. 값은 0에서 9 사이일 수 있습니다. 값 0은 압축률이 가장 낮지만 빠르며, 값 9는 압축률은 높지만 가장 느립니다. 그 사이의 모든 것도 진행됩니다.

예를 들어:

tree_4624x3468.png 변환 -정의하다 png:압축 수준= 9 tree_4624x3468_compression9.png



대부분의 경우 프로그래머가 원하는 것은 사진의 최대 크기를 설정하는 것입니다. 따라서 사진의 최대 크기를 설정하려는 경우를 가정해 보겠습니다. 정의 스위치를 사용하여 이를 수행할 수 있습니다.

-define jpeg:extent={크기}

변환 tree_4624x3468.jpg -정의하다 jpeg: 정도 =1MB tree_4624x3468_extent1MB.jpg



위의 그림에서 볼 수 있듯이 4624×3468의 해상도와 0.897MiB의 크기로 설정했습니다. 그래서 요청하신 대로 ImageMagick에서 최대 크기인 1MB보다 작은 사진을 생성했습니다.

스트립 스위치

카메라로 찍은 사진은 메타데이터와 함께 제공됩니다. 메타데이터를 제거하면 일부 공간도 정리할 수 있습니다. ImageMagick에서는 스트립 스위치를 사용하여 이 작업을 수행합니다.

변환 tree_4624x3468.jpg -조각 tree_strip.jpg



여기서 보시다시피 원본 사진은 4624×3468 및 5.7MiB입니다. 그러나 메타데이터가 제거된 이미지는 4.65MiB입니다.

색공간 스위치

색 공간을 전환해 볼 수도 있습니다. 이 첫 번째 인스턴스에서는 회색으로 변경하겠습니다.

변환 tree_4624x3468.jpg -색공간 회색나무_gray.jpg -품질 75



보시다시피 이미지 크기 감소가 너무 크지는 않지만 5.70226MiB에서 4.44997MiB로 감소했습니다.

또는 다음을 시도했습니다.

tree_4624x3468.png 변환 -색공간 회색나무_graypng.png



PNG의 경우 4624×3468인 원본 사진은 22.42MiB이지만 회색으로 바꾸면 8.88MiB가 됩니다.

색상 스위치

사용되는 색상 수를 변경하도록 선택할 수도 있습니다. 이 특별한 경우에는 PNG에 16가지 색상만 사용하겠습니다.

tree_4624x3468.png 변환 -그림 물감 16 tree_4624x3468_16colors.png



원래 PNG는 4624×3468 및 22.42MiB였습니다. 그러나 색상을 16으로만 변경하면 이미지 크기가 4.27MiB가 됩니다. 그리고 사진은 다음과 같습니다.


tree_4624x3468_16colors.png

여러 스위치 사용

이제 사진에서 단일 스위치를 사용할 필요가 없습니다! 그림에서 원하는 만큼 많은 스위치를 결합할 수 있습니다.

예 1에서는 나무의 PNG 사진을 찍을 것입니다. 이 원본 사진은 4624×3468 및 22.42MiB 크기이며 여러 스위치를 사용하고 어디로 가는지 확인하겠습니다.

tree_4624x3468.png 변환 -조각 -크기 조정 75 % x75 % -정의하다 png:압축 수준= 9 -색공간 회색 tree_4624x3468_reducedsize.png



따라서 원래 크기가 22.42MiB인 이 PNG는 5.3MiB의 그림으로 바뀌었습니다. 결과 사진은 원본 크기의 약 23%입니다.

다음으로 JPG를 확인해 보겠습니다.

변환 tree_4624x3468.jpg -품질 75 -크기 조정 75 % x75 % -조각 -그림 물감 16 tree_4624x3468_reducedsize.jpg



그래서 여기에서 JPG의 경우 원래 크기인 5.7MiB에서 컬러 이미지의 경우 약 2.2MiB로 변경했습니다.

그러나 색상이 지정되지 않은 경우:

변환 tree_4624x3468.jpg -품질 75 -크기 조정 75 % x75 % -조각 -색공간 회색나무_4624x3468_reducedsize.jpg



여기에서는 회색 이미지의 원래 크기인 5.7MiB에서 1.6MiB로 변경했습니다.

원하는 경우 크기에 대한 최대 제한도 설정할 수 있습니다. 요점은 마음만 먹으면 크기를 줄일 수 있다는 것입니다.

결론

특정 목적을 위해 코드를 작성할 때 우리는 그림도 사용하는 경향이 있으며 때로는 크기가 너무 큰 그림을 가질 여유가 없습니다. 이러한 경우 프로그래머의 주요 초점은 그림의 크기와 그림의 품질 사이에서 타협점을 찾는 것입니다. 우리는 품질이 너무 낮은 사진을 사용하고 싶지 않지만 큰 사진을 가질 여유도 없습니다. 따라서 그림의 크기를 줄이는 방법이 필요합니다. ImageMagick은 품질, 크기 조정, 정의 등 다양한 스위치의 형태로 그림 크기를 줄이는 다양한 방법을 제공합니다. 그 중 하나 이상을 사용하여 그림 크기를 조정할 수 있습니다.