[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", );
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://item.taobao.com/item.htm?spm=a1z10.1.w4004-4958980042.12.gASsff&id=36468591940
[2014.01.27]wfGifAnimator 动画GIF组件 3.0的更多相关文章
- [2014.01.27]wfRadar 雷达图组件 2.5
全新开发的雷达图组件--wfRadar,使用简单,功能强大,图像处理效果极佳. 组件支持多种图片格式,包括bmp,jpg,gif,wmf,emf,ico,png,pcx,tif,tga,pcx,dcx ...
- [2014.01.27]wfTextImage 文字图像组件 1.6
全新开发的文字转图像组件--wfTextImage,使用简单,功能强大,图像处理效果极佳. 将大段的文本内容转换成GIF图片. 有效防止文字内容被复制抄袭,有效保护文字资料. ...
- [2014.01.27]wfPng 水印贴图组件 2.1
支持载入bmp,jpg,gif,png四种格式等. 支持图片水印使用png格式,支持区域透明,半透明的png图片. 支持图片缩放. 支持画线.画矩形.画椭圆,画正圆等图形. 支持在图片上输出文字. 能 ...
- [2014.01.27]wfChart 统计图组件 5.6
本组件支持多种样式图表,包括柱型图.横柱型图.曲线图.饼图.点图.区域图. 可选择的8大主题风格,且主题可再配置,在加快开发的同时又提供更好的图像效果. 组件图表提供两种输出接口,包括 ...
- [2014.01.27]wfImage 图像处理组件 3.3
组件支持多种图片格式,包括bmp,jpg,gif,wmf,emf,ico,png,pcx,tif,tga,pcx,dcx等. 组件提供两种输出接口,包括保存,直接显示(您再也不用定时清理那些临时的垃圾 ...
- [2014.01.27]wfPrintOcx 票据打印控件 v5.3
支持选择打印机,并自动记忆选择的打印机. 适合打印各类票据格式. 支持画正方形.长方形.圆形.椭圆.横线.竖线.HTTP图片. 支持数字金额转换成中文大写金额. 可以设置固定宽度的文字自动换行. 组件 ...
- [2014.01.27]WFsoft.wfLibrary.wfVerifyImage 1.8
全新开发的验证码图片控件--WFsoft.wfLibrary.wfVerifyImage,使用简单,功能强大. 完全支持.net 2.0编写,对下一代操作系统平稳过渡. 同时支持.ne ...
- [2014.01.27]WFsoft.wfLibrary.wfIniFile 1.5
完全支持.net 2.0编写,对下一代操作系统平稳过渡. 不使用[DllImport("kernel32")]的方式,完全自主的.net 2.0自主解析. 完整支持键 ...
- [2014.01.27]WFsoft.wfWebCtrl.wfPage 5.9
wfPage多功能.Net翻页组件,使用简单,功能强大. 提供"首页","上一页","下一页","末页","转 ...
随机推荐
- jQuery动画高级用法——详解animation中的.queue()函数
http://www.cnblogs.com/zhwl/p/4328279.html $('#object').hide('slow').queue(function(next){ $(thi ...
- [Linux学习]Shell脚本(1)--函数,输入,if判断(持续更新)+删除空行 +保存当前路径
1)接收输入 check_status() { echo --Check hi_repo status is ok? y or n read var if [ "$var" != ...
- SQL排序
- c语言中gets ,getschar 和fgets 的用法及三者之间的差别,还有scanf
①gets [1]函数:gets(字符指针) [2]头文件:stdio.h(c中),c++不需包含此头文件 [3]原型:char*gets(char*buffer); [4]功能:从stdin流中读取 ...
- SE homework2
1. (1) Fault: for循环语句中的条件表达式i > 0,不能检查到数组的第一个元素,应该为 i >= 0 . (2) test:x=[]:y=3 Expected = -1 A ...
- 用Unity代码通过Xml配置生成GameObject之——前两天掉的坑
1. Resources.Load(path),path不是绝对路径,而是相对"Resources/"的相对路径!如: 要想Instantiate则代码应该如下: string m ...
- easyUI中datetimebox和combobox的取值方法
easyUi页面布局中,查询条件放在JS中,如下 <script type="text/javascript"> var columnList = [ [ { ...
- C#获得网卡信息 NetworkInterface IPInterfaceProperties
System.Net.NetworkInformation下的 1:NetworkInterface类,提供网络适配器的配置和统计信息. 可以通过它检测本机配置了多少网卡,哪些网络连接可用,获得网卡的 ...
- Git 的详细使用
本文翻译自Understanding Git Source Control in Xcode (译者myShire)欢迎您加入我们的翻译小组. 在应用程序开发过程中,很重要的一部分工作就是如何进行 ...
- 创建 Transact-SQL 作业步骤
创建 Transact-SQL 作业步骤 在对象资源管理器中,连接到 SQL Server 数据库引擎实例,再展开该实例. 展开"SQL Server 代理",创建一个新作业或右键 ...