组件支持设置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://item.taobao.com/item.htm?spm=a1z10.1.w4004-4958980042.12.gASsff&id=36468591940