文件大小:
軟件介紹
gif是動(dòng)態(tài)的嘛。然后我昨天和一個(gè)朋友聊天的時(shí)候發(fā)了一串相同的gif圖,然后看著千篇一律的東西。我想能不能寫個(gè)程序?qū)崿F(xiàn)gif的初始狀態(tài)不同呢。什么意思呢。我們知道,gif是由幀構(gòu)成的,我想實(shí)現(xiàn)的功能是比如一個(gè)gif共有十幀,那么我寫出來的程序能夠生成10個(gè)gif文件,分別對(duì)應(yīng)不同的初始狀態(tài)來進(jìn)行循環(huán)。后來一想,gif幀太多的話,比較慢,而且也不實(shí)用,于是決定簡(jiǎn)化一下,只做一個(gè)反轉(zhuǎn)工具,比如一個(gè)gif是從左到右播放的,通過這個(gè)成功可以生成一個(gè)相同的gif圖,不過是倒著播放的。
思路很簡(jiǎn)單,就是先把gif分解成很多幀,然后對(duì)幀進(jìn)行合并,合并幀之前把幀的位置反轉(zhuǎn)一下就可以了。因?yàn)槲易约簩?duì)圖像處理的知識(shí)不懂,只想到了思路,所以這些功能都要找些資料,然后修改,測(cè)試。
分割幀的代碼如下
//解碼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 本站將不對(duì)任何資源負(fù)法律責(zé)任,所有資源請(qǐng)?jiān)谙螺d后24小時(shí)內(nèi)刪除。
3 若有關(guān)在線投稿、無法下載等問題,請(qǐng)與本站客服人員聯(lián)系。
4 如侵犯了您的版權(quán)、商標(biāo)等,請(qǐng)立刻聯(lián)系我們并具體說明情況后,本站將盡快處理刪除,聯(lián)系QQ:2499894784
- 千億體育手機(jī)版本v2.0.1 安卓版
- tplink物聯(lián)電腦版(原tplink安防) v2.12.17.
- Sandboxie Plus v1.9.8 / v5.64.8 開源電腦
- mtool修改器 V2023.11 官方最新版 / mtool
- 奧維互動(dòng)地圖破解版永久vip2024 V9.9.1 永
- 字魂100號(hào)方方先鋒體字體包免費(fèi)版
- 社工庫查詢工具社工庫查詢工具v3.3 免費(fèi)版
- 奧維互動(dòng)地圖奧維地圖PC破解版VIP V9.0.6
- reWASD(Xbox One手柄映射工具) V6.0.1.5190
- 蘭博對(duì)戰(zhàn)平臺(tái) V1.38.6 官方最新版 / 蘭博玩
點(diǎn)擊加載更多評(píng)論>>