2012-11-10 2 views
3

ImageMagick은 gif를 jpgs로 분할하지만 일부는 흰색 픽셀을 가지고 다른 일부는 그렇지 않습니다.imagemagick은 jpg 목록 변환으로 gif에서 가공물을 남깁니다.

convert -strip tree.gif tree.jpg 

gif를 86 개의 jpg로 분할합니다. # 68과 # 69가 있습니다.

# 68

enter image description here

및 # 69

enter image description here

문제의 GIF :

http://i.stack.imgur.com/yTBnJ.gif

약 1/3이 가지고 시미 lar 인코딩 문제. 애니메이션 GIF 이미지에

convert -version 
Version: ImageMagick 6.6.9-7 2012-08-17 Q16 http://www.imagemagick.org 
Copyright: Copyright (C) 1999-2011 ImageMagick Studio LLC 
Features: OpenMP 

uname -a 
Linux paul-Pangolin-Performance 3.2.0-23-generiC#36-Ubuntu SMP Tue Apr 10 20:39:51 UTC 2012 x86_64 x86_64 x86_64 GNU/Linux 
+0

68 개의 JPG가 있으며 그 중 하나가 # 69입니까? 일부 프레임을 건너 뛸 수 있습니까? – abarnert

+0

gd 라이브러리를 설치 했습니까? 나는 이미지 magick가 GD에 의지하고 그것이 문제없이 발생할 수 있다는 것을 안다. –

+0

죄송합니다. 86 개의 jpg가 아니라 68 개가 수정되었습니다. – browep

답변

5

는 각각의 새로운 프레임은 투명 픽셀에 의해 표현 될 수있는 이전 프레임의 동일 픽셀들을 의미 이전의 상단에 그려. 실제로 이것은 "Dispose None"애니메이션에만 해당합니다. 여기에있는 내용은 here을 참조하십시오.

애니메이션 GIF 최적화 도구는 다음을 검색하여이를 활용합니다. 투명하게 변환 할 수있는 장기간의 픽셀 (따라서 더 효율적으로 압축 될 수 있음). 그래서 원본 이미지에 투명한 픽셀이있는 것입니다.

이러한 프레임을 JPG로 변환하면 투명 픽셀이 흰색 배경색으로 변환됩니다.

수정 방법에 대한 설명은 here을 참조하십시오. 먼저 "오버레이 애니메이션"을 "Coalesced Animation"으로 변환 한 다음이를 일련의 JPG 파일로 변환 할 수 있습니다. 다음

convert tree.gif -coalesce -set dispose previous tree2.gif 

그런 다음 애니메이션이 동일하게 보이는 것을 확인하고 :

convert -strip tree2.gif tree.jpg 

나는 모든 좋은 프레임을 생성, 거기에서 링크 된 gif_anim_montage 스크립트에보고하지 않은이 같이 표시한다 - 프레임 별 이미지. 나는 그것이 똑같은 것을 (더 많은 것을 더하여) 효과적으로 수행 할 것이라고 추측하지만 어쩌면 그것은 당신을 도울 수있는 깔끔한 트릭을 가지고있을 것이다. 그래서 나는 한 번 살펴볼 것이다.

PS, PNG 또는 GIF 대신 JPG 출력을 원하십니까? JPG는 품질이 떨어지는 반면 PNG는 품질이 보장되지 않습니다. 그리고 원본 데이터 (256 색 GIF 이미지)가 제공되면 PNG는 최소한 또는 더 나은 압축률을 보입니다. 빠른 테스트는 기본 설정을 사용하여 1980K 대 1916K를 보여 주며 PNG가 1888K로 약간 최적화 된 상태로 표시합니다.

관련 문제