GIF反轉(zhuǎn)工具 v1.0 綠色版

2024-07-03發(fā)布者:wx20230305205025大?。?/span> 下載:48

文件大小:

軟件介紹

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;

image.png
發(fā)表評(píng)論(共0條評(píng)論)
請(qǐng)自覺遵守互聯(lián)網(wǎng)相關(guān)政策法規(guī),評(píng)論內(nèi)容只代表網(wǎng)友觀點(diǎn),發(fā)表審核后顯示!

版權(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

返回頂部