- 0
- 제르엘
- 조회 수 801
일부 GIF 파일을 ImageMagick을 이용해 처리하는 경우 아래와 같이 이미지가 깨질 수 있습니다.
|
→ |
|
이랬던 이미지가 | 이런 식으로 |
이미지 출처 - https://cafe.naver.com/mahjongsoul/11365, 캐릭터 - 이치히메
이런 문제가 발생하는 이유는 ImageMagick의 버전이나 실행 환경 때문이 아니라, 모종의 방법으로 최적화된 GIF 이미지를 ImageMagick에서 처리하는 과정에서 오류가 발생하기 때문입니다. 이 문제를 해결하는 방법은 간단합니다. 아래와 같이 이미지를 ImageMagick으로 돌리기 전 먼저 -coalesce 옵션을 줘서 한 번 처리해 주면 됩니다.
ImageMagick 6:
convert <input_file>.gif -coalesce <output_file>.gif
ImageMagick 7:
magick <input_file>.gif -coalesce <output_file>.gif
예를 들어, 아래 명령어는 ImageMagick 6 환경에서 이미지를 먼저 -coalesce 옵션으로 처리한 후, 투명도를 비활성화한 뒤 흰색 배경을 추가하는 명령어입니다.
ImageMagick 6:
convert <input_file>.gif -coalesce <coalesce_file>.gif convert <coalesce_file>.gif -background white -alpha_remove <output_file>.gif
ImageMagick 7:
magick <input_file>.gif -coalesce <coalesce_file>.gif magick <coalesce_file>.gif -fill white -opaque transparent <output_file>.gif
이 방법의 단점이라면 처리된 파일의 용량이 원본 대비 증가할 수 있다는 건데, 저렇게 깨지는 이미지를 보여주느니 차라리 저장공간을 좀 희생하는 게 낫지 않겠습니까.
작성자
댓글 0
권한이 없습니다.