文件大小:
軟件介紹
gif是動態(tài)的嘛。然后我昨天和一個朋友聊天的時候發(fā)了一串相同的gif圖,然后看著千篇一律的東西。我想能不能寫個程序?qū)崿F(xiàn)gif的初始狀態(tài)不同呢。什么意思呢。我們知道,gif是由幀構(gòu)成的,我想實現(xiàn)的功能是比如一個gif共有十幀,那么我寫出來的程序能夠生成10個gif文件,分別對應(yīng)不同的初始狀態(tài)來進(jìn)行循環(huán)。后來一想,gif幀太多的話,比較慢,而且也不實用,于是決定簡化一下,只做一個反轉(zhuǎn)工具,比如一個gif是從左到右播放的,通過這個成功可以生成一個相同的gif圖,不過是倒著播放的。
思路很簡單,就是先把gif分解成很多幀,然后對幀進(jìn)行合并,合并幀之前把幀的位置反轉(zhuǎn)一下就可以了。因為我自己對圖像處理的知識不懂,只想到了思路,所以這些功能都要找些資料,然后修改,測試。
分割幀的代碼如下
//解碼gif圖片
public ListGetFrames(stringpPath,stringpSavedPath)
{
Image gif=Image.FromFile(pPath);
FrameDimension fd=newFrameDimension(gif.FrameDimensionsList[0]);
//獲取幀數(shù)(gif圖片可能包含多幀,其它格式圖片一般僅一幀)
intcount=gif.GetFrameCount(fd);
ListgifList=newList(); //以Jpeg格式保存各幀
for(inti=0;i<count;i++)
{
gif.SelectActiveFrame(fd,i);
gif.Save(pSavedPath+"frame_"+i+".png",ImageFormat.Png);
gifList.Add(pSavedPath+"frame_"+i+".png");
}
returngifList;

版權(quán)聲明:
1 本站所有資源(含游戲)均是軟件作者、開發(fā)商投稿,任何涉及商業(yè)盈利目的均不得使用,否則產(chǎn)生的一切后果將由您自己承擔(dān)!
2 本站將不對任何資源負(fù)法律責(zé)任,所有資源請在下載后24小時內(nèi)刪除。
3 若有關(guān)在線投稿、無法下載等問題,請與本站客服人員聯(lián)系。
4 如侵犯了您的版權(quán)、商標(biāo)等,請立刻聯(lián)系我們并具體說明情況后,本站將盡快處理刪除,聯(lián)系QQ:2499894784
點擊加載更多評論>>