[英]Resizing animated GIF using GraphicsMagick
我有一個帶透明框架的動畫gif
圖像。 我需要調整它的大小。
在調整大小之前,我使用Magick::coalesceImages
函數,在調整圖像大小后,我使用Magick::writeImages
函數將所有gif
幀收集回一個單獨的圖像。
問題是輸出調整大小的圖像文件大小比原始大小更大,因為原始動畫gif
具有透明幀,而新調整大小的gif
沒有任何透明幀。
我在www.imagemagick.org上看過有關幀優化的內容,我可以在www.graphicsmagick.org上看到gifDisposeMethod
函數。
我的問題是,如何使調整大小的動畫gif
圖像使用透明度幀並避免增加圖像KBytes
大小?
好吧,我找到了要走的路:
調整動畫gif
大小時,使用Magick::coalesceImages()
並不是最好的方法...
相反,我根據百分比大小而不是絕對大小來重新調整,同時跳過Magick::coalesceImages()
調用。
例如,假設我的原始動畫gif
是300x300,我想將其調整為150x150,我將執行以下操作:
Magick::Blob
的圖像 這樣我們就不會增加每個幀的大小,因為我們沒有使用Magick::coalesceImages()
函數,而是根據原始大小調整每個幀的大小,所以我們對幀的透明度沒有任何問題。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.