[2014.01.27]wfGifAnimator 動畫GIF組件 3.0

  組件支持設置GIF幀延時和獲取GIF的幀延遲。
  組件支持添加或插入或更新幀(支持bmp/jpg/gif/wmf/emf/ico格式)、刪除幀、清空幀操做。
  組件支持GIF動畫縮放大小。
  組件支持繪製線段、矩形、圓形、橢圓以及繪製圖片。
  組件支持往指定幀輸出文字,繪製圖片,自動縮放幀。
  組件繪製字體所有采用「邏輯採樣」處理,字體邊緣圓滑,且速度快。
  組件支持繪製線段、矩形、圓形、橢圓以及繪製圖片。
  組件可設置每幀之間的停留時間,以「毫秒」記,即1秒=1000毫秒。
  本組件通過多種平臺環境負荷壓力測試,運行穩定、速度快、資源佔用低。測試

 

組件效果圖:字體

 

 

C#使用實例:動畫

using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Text;
using System.Windows.Forms;
using wfGifAnimator;

namespace wfGifAnimator_Demo
{
    public partial class Form1 : Form
    {
        public Form1()
        {
            InitializeComponent();
        }

        private void button1_Click(object sender, EventArgs e)
        {
            //建立Com對象
            wfGifAnimatorObject objGifAnimator = new wfGifAnimatorObject();

            //建立wfGifAnimatorObject對象實體
            objGifAnimator.CreateObject();

            objGifAnimator.RegName = "";  //註冊名
            objGifAnimator.RegSN = "";   //註冊序列號

            //向動畫組件中添加幀,參數爲:圖片路徑(bmp/jpg/gif/wmf/emf/ico格式),該幀停留時間(以毫秒爲單位,1秒=1000毫秒)
            objGifAnimator.AddFrame(Application.StartupPath + @"\pic\1.bmp", 300);
            objGifAnimator.AddFrame(Application.StartupPath + @"\pic\2.bmp", 300);
            objGifAnimator.AddFrame(Application.StartupPath + @"\pic\3.jpg", 300);
            objGifAnimator.AddFrame(Application.StartupPath + @"\pic\4.jpg", 300);
            objGifAnimator.AddFrame(Application.StartupPath + @"\pic\5.gif", 300);
            objGifAnimator.AddFrame(Application.StartupPath + @"\pic\6.gif", 300);

            for (int N = 0; N < objGifAnimator.FrameCount; N++)
            {
                //向第N幀繪製文字,參數依次爲:幀的索引號,X座標,Y座標,文字內容,字體名稱,字體大小,字體風格,字體顏色,字體背景顏色,字體旋轉的角度
                //字體樣式: 0默認,1加粗,2加斜,3加下劃線,4加刪除線,5加粗加斜,6加粗加下劃線,7加粗加刪除線,8加粗加斜加下劃線,9加粗加斜加刪除線,10加斜加下劃線,11加斜加刪除線
                objGifAnimator.DrawText(N, 160, 1, "萬福軟件", "Arial", 20, 1, "ff0000", "", 0);
                objGifAnimator.DrawText(N, 160, 31, "WFsoft.com", "Arial", 14, 1, "0000ff", "", 0);
            }

            /*
            //改變GIF動畫到新的大小,參數爲新GIF動畫寬度和高度
            objGifAnimator.ResizeTo(200, 200);

            for (int N = 0; N < objGifAnimator.FrameCount; N++)
            {
                //保存GIF動畫中的指定幀,參數爲:幀的索引號,幀存放路徑
                objGifAnimator.ExportFrame(N, @"C:\" + N.ToString() + ".bmp");
            }

            for (int N = 0; N < objGifAnimator.FrameCount; N++)
            {
                //獲取GIF的幀延遲。
                MessageBox.Show(objGifAnimator.get_FrameDelayTime(N).ToString());
            }
            */

            //顯示本組件名稱,版本,做者,官方網站
            //MessageBox.Show(objGifAnimator.Software.ToString() + "\n" + objGifAnimator.Version.ToString() + "\n" + objGifAnimator.Author.ToString() + "\n" + objGifAnimator.Website.ToString());

            //動畫的循環次數,默認爲:-1爲無限循環
            objGifAnimator.RepeatCount = -1;

            //輸出的GIF動畫圖片到文件
            bool bolResult = (bool)objGifAnimator.get_SaveToFile(@"c:\wfGifAnimator_Demo1.gif");     //設置輸出的GIF圖片保存位置

            if (bolResult == true)
            {
                MessageBox.Show(@"圖像保存成功,文件保存到:c:\wfGifAnimator_Demo1.gif");
            }
            else
            {
                MessageBox.Show("圖像保存失敗!");
            }

            objGifAnimator.Close();  //關閉本組件資源
        }

        private void button2_Click(object sender, EventArgs e)
        {
            //建立Com對象
            wfGifAnimatorObject objGifAnimator = new wfGifAnimatorObject();

            //建立wfGifAnimatorObject對象實體
            objGifAnimator.CreateObject();

            objGifAnimator.RegName = "";  //註冊名
            objGifAnimator.RegSN = "";   //註冊序列號

            //載入一個已經存在的GIF進行編輯
            objGifAnimator.LoadFromFile(@"c:\demo1.gif");

            //獲取GIF的總播放次數
            MessageBox.Show("總幀數:" + objGifAnimator.RepeatCount.ToString());

            for (int N = 0; N < objGifAnimator.FrameCount; N++)
            {
                //向第N幀繪製文字,參數依次爲:幀的索引號,X座標,Y座標,文字內容,字體名稱,字體大小,字體風格,字體顏色,字體背景顏色,字體旋轉的角度
                //字體樣式: 0默認,1加粗,2加斜,3加下劃線,4加刪除線,5加粗加斜,6加粗加下劃線,7加粗加刪除線,8加粗加斜加下劃線,9加粗加斜加刪除線,10加斜加下劃線,11加斜加刪除線
                objGifAnimator.DrawText(N, 160, 1, "萬福軟件", "Arial", 20, 1, "ff0000", "", 0);
                objGifAnimator.DrawText(N, 160, 31, "WFsoft.com", "Arial", 14, 1, "0000ff", "", 0);
            }

            /*
            //改變GIF動畫到新的大小,參數爲新GIF動畫寬度和高度
            objGifAnimator.ResizeTo(200, 200);

            for (int N = 0; N < objGifAnimator.FrameCount; N++)
            {
                //保存GIF動畫中的指定幀,參數爲:幀的索引號,幀存放路徑
                objGifAnimator.ExportFrame(N, @"C:\" + N.ToString() + ".bmp");
            }

            for (int N = 0; N < objGifAnimator.FrameCount; N++)
            {
                //獲取GIF的幀延遲。
                MessageBox.Show(objGifAnimator.get_FrameDelayTime(N).ToString());
            }
            */

            //顯示本組件名稱,版本,做者,官方網站
            MessageBox.Show(objGifAnimator.Software.ToString() + "\n" + objGifAnimator.Version.ToString() + "\n" + objGifAnimator.Author.ToString() + "\n" + objGifAnimator.Website.ToString());

            //動畫的循環次數,默認爲:-1爲無限循環
            objGifAnimator.RepeatCount = -1;

            //輸出的GIF動畫圖片到文件
            bool bolResult = (bool)objGifAnimator.get_SaveToFile(@"c:\wfGifAnimator_Demo2.gif");     //設置輸出的GIF圖片保存位置

            if (bolResult == true)
            {
                MessageBox.Show(@"圖像保存成功,文件保存到:c:\wfGifAnimator_Demo2.gif");
            }
            else
            {
                MessageBox.Show("圖像保存失敗!");
            }

            objGifAnimator.Close();  //關閉本組件資源
        }
    }
}


下載地址:網站

http://url.cn/KISPumurl

 

購買連接:spa

http://item.taobao.com/item.htm?spm=a1z10.1.w4004-4958980042.12.gASsff&id=364685919403d

相關文章
相關標籤/搜索