再發Gif動畫水印
功夫不負有心人,前面的幾篇文章中分表了水印gif動畫的效果,可以往的實現存在著一些問題,比如有些動畫在水印后背景顏色發生變化,這歸咎于gif不是真彩色圖像,它的顏色是量化過了的,而量化過程中,因為參數的變化,很可能造成背景色的更改,GIF的調色板中的顏色是根據圖像量化出來的,量化的過程中,存在著近似值的問題,這樣就造成顏色的不準確。不過經過我幾天來的研究,我將gif圖片用我寫的解碼器解碼出來,然后根據解碼出來的數據值來設置編碼器,這樣就解決了上面提到的問題,從而實現了快速,無損,完整地gif動畫水印。先看一下測試效果:
原圖1

水印后的圖片一

原圖二:

水印后的圖片二:

本版本也不是沒有問題,問題還是有的,比如編碼的時候沒有考慮處置方法為3的情況和交織存儲,但目前我還沒遇到這樣的圖片,可以說95%的圖片是可以使用我的組件的 。目前剩余的問題包括:
- 特殊圖片的處理 :如處置方法為3的,存儲方式為交織的
- 水印后,圖像大小變化比較大
對于第一個問題,我在以后肯定會加以解決,對于第二個問題,限于gif圖片的文件格式,它的有些楨和背景圖片不是一樣大小的,而是采用根據處置方法,橫坐標,縱坐標,圖像長度,圖像高度來控制顯示的,而如果我們要實現水印,必須將水印的每幀圖像都做成一樣大的,這樣無形中增加了圖像大小,因為對于有些動畫圖片來說,水印后圖片變大是 必然的,但這也不是完全沒辦法緩解,通過它的處置方法是可以找到規律的,我以后會盡量的使其減小體積,但增大的趨勢是肯定的了。
下面的壓縮包的文件可能能說明為何水印后體積會變大:
/Files/jillzhang/gif-decode-encode.rar
發現有些人將代碼拷貝過去之后,馬上將版權改成自己的名字,而且在網上肆意張貼,以后的版本不會直接提供文件下載,如果有需要朋友,只要是園子的注冊用戶,發郵件給我,我保準回復。這樣也許可以為園子增加一些注冊用戶吧,我的email:jillzhang@126.com,再次聲明,園子中兄弟有需要的,發郵件給我就可以了,由此帶來的不便,還請兄弟們能理解。郵件中最好注明博客園ID和網址
出處:http://jillzhang.cnblogs.com/
本文版權歸作者和博客園共有,歡迎轉載,但未經作者同意必須保留此段聲明,且在文章頁面明顯位置給出原文連接,否則保留追究法律責任的權利。

Gif處理庫
再發Gif動畫水印
浙公網安備 33010602011771號