组件支持设置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", );
objGifAnimator.AddFrame(Application.StartupPath + @"\pic\2.bmp", );
objGifAnimator.AddFrame(Application.StartupPath + @"\pic\3.jpg", );
objGifAnimator.AddFrame(Application.StartupPath + @"\pic\4.jpg", );
objGifAnimator.AddFrame(Application.StartupPath + @"\pic\5.gif", );
objGifAnimator.AddFrame(Application.StartupPath + @"\pic\6.gif", ); for (int N = ; N < objGifAnimator.FrameCount; N++)
{
//向第N帧绘制文字,参数依次为:帧的索引号,X坐标,Y坐标,文字内容,字体名称,字体大小,字体风格,字体颜色,字体背景颜色,字体旋转的角度
//字体样式: 0默认,1加粗,2加斜,3加下划线,4加删除线,5加粗加斜,6加粗加下划线,7加粗加删除线,8加粗加斜加下划线,9加粗加斜加删除线,10加斜加下划线,11加斜加删除线
objGifAnimator.DrawText(N, , , "万福软件", "Arial", , , "ff0000", "", );
objGifAnimator.DrawText(N, , , "WFsoft.com", "Arial", , , "0000ff", "", );
} /*
//改变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 = -; //输出的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 = ; N < objGifAnimator.FrameCount; N++)
{
//向第N帧绘制文字,参数依次为:帧的索引号,X坐标,Y坐标,文字内容,字体名称,字体大小,字体风格,字体颜色,字体背景颜色,字体旋转的角度
//字体样式: 0默认,1加粗,2加斜,3加下划线,4加删除线,5加粗加斜,6加粗加下划线,7加粗加删除线,8加粗加斜加下划线,9加粗加斜加删除线,10加斜加下划线,11加斜加删除线
objGifAnimator.DrawText(N, , , "万福软件", "Arial", , , "ff0000", "", );
objGifAnimator.DrawText(N, , , "WFsoft.com", "Arial", , , "0000ff", "", );
} /*
//改变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 = -; //输出的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/KISPum

购买链接:

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



最新文章

  1. Map工具系列-02-数据迁移工具使用说明
  2. Android应用开发是否应避免使用枚举?
  3. java抽象语法
  4. java 28 - 6 JDK7的新特性
  5. 【凯子哥带你学Framework】Activity启动过程全解析
  6. 解决Ubuntu下 Could NOT find CURL (missing: CURL_LIBRARY CURL_INCLUDE_DIR)
  7. 仿淘宝颜色属性选择展示代码(jQuery)
  8. 单元测试+修改BUG
  9. nodejs的模块系统(实例分析exprots和module.exprots)
  10. sql2005中如何启用SA账号
  11. functools学习有感
  12. H5页面适配所有iPhone和安卓机型的六个技巧
  13. C#排列组合类
  14. CSS3中transform几个属性值的注意点
  15. Spark ML下实现的多分类adaboost+naivebayes算法在文本分类上的应用
  16. phpstorm激活码生成器地址
  17. VisualStudio移动开发(C#、VB.NET)Smobiler开发平台——VoiceRecorder控件的使用方式.Net移动开发
  18. 深度学习Dubbo系列(入门开篇)
  19. macbook 下 spark开发环境搭建(基于idea 和maven)及spark单机写运行jar
  20. AlexNet详解

热门文章

  1. django个人总结
  2. 基于ReentrantLock的AQS的源码分析(独占、非中断、不超时部分)
  3. Sweet Alert
  4. Servlet向客户端发送中文数据的编码情况
  5. Android ScrollView与ListView的冲突解决办法汇总
  6. SP Flash Tool使用异常集锦
  7. 基础小功能之(1)震动,(2)检测app是否在前台运行
  8. cron表达式详解
  9. [转载 ]POJ 1273 最大流模板
  10. Maven学习笔记(1)之安装Maven