欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

C#實現(xiàn)合并多張圖片為GIF動態(tài)圖

 更新時間:2022年12月15日 14:04:25   作者:Csharp小記  
這篇文章主要為大家詳細介紹了C#如何將把一張又一張的圖片去拼合成一張GIF動態(tài)圖片,文中的示例代碼講解詳細,感興趣的小伙伴可以了解一下

文章描述

在前一篇寫了如何將一張GIF動態(tài)圖分解成一幀一幀的圖片,這一篇我們就把喝進去的一瓢水給還回去。即把一張又一張的圖片去拼合成一張GIF動態(tài)圖。

這里我們使用的是上一篇分割下來的每一幀圖片,然后來進行一個還原操作,其實下面的代碼中,能做到也不僅僅是還原,還可以同時設置延遲間隔等一些屬性,也就是對這張動態(tài)圖進行慢放或者快放的操作。

開發(fā)環(huán)境

.NET Framework版本:4.5

開發(fā)工具

 Visual Studio 2013

實現(xiàn)代碼

string newPath = Application.StartupPath + "\\new.gif";
        public Form1()
        {
            InitializeComponent();
            textBox1.Text = Application.StartupPath + "\\images\\";
        }

        private void btn_merge_Click(object sender, EventArgs e)
        {
            List<string> imgs = Directory.GetFiles(textBox1.Text, "*.jpg").ToList();
            imgs.Sort((a, b) =>
            {
                string reg = "[0-9]+";
                int a_index = int.Parse(Regex.Match(a, reg).Value);
                int b_index = int.Parse(Regex.Match(b, reg).Value);
                return a_index > b_index ? 1 : a_index < b_index ? -1 : 0;
            });
            AnimatedGifEncoder ae = new AnimatedGifEncoder();
            ae.Start(newPath);
            ae.SetDelay(120);   // 延遲間隔
            ae.SetRepeat(0);  //-1:不循環(huán),0:循環(huán)播放
            for (int i = 0; i < imgs.Count; i++)
            {
                ae.AddFrame(Image.FromFile(imgs[i]));
            }
            ae.Finish();
            MessageBox.Show("處理完成,請點擊預覽查看");
        }

        private void btn_preview_Click(object sender, EventArgs e)
        {
            Image img = Image.FromFile(newPath);
            lb_img.Image = img;
        }

實現(xiàn)效果

代碼解析

看代碼是不是又是挺簡單的?又是幾行代碼?其實不然,這里使用到了一套開源的代碼(AnimatedGif還是什么來著,年代有點久遠,記不太清了,只知道代碼里面是這么寫的,應該根據(jù)這個關鍵詞時可以搜索到的),不過也全是c#代碼寫的,但是太多就沒放到文章中來。

在上一篇中,進行GIF動態(tài)圖片分割的時候,可以看到對每一張圖片保存命名的時候進行了編號,所以這里合成的時候,就要按照編號(幀)排序再合成(由于我命名時加了其他字符串,所以這里又用正則處理了下),這里注意一定不能亂排,否則圖片播放器來不太連貫。當然你需求就是一張張無序播放的話,倒是無所謂。

到此這篇關于C#實現(xiàn)合并多張圖片為GIF動態(tài)圖的文章就介紹到這了,更多相關C#合并圖片內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關文章希望大家以后多多支持腳本之家!

相關文章

最新評論