组件支持设置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



[2014.01.27]wfGifAnimator 动画GIF组件 3.0的更多相关文章

  1. [2014.01.27]wfRadar 雷达图组件 2.5

    全新开发的雷达图组件--wfRadar,使用简单,功能强大,图像处理效果极佳. 组件支持多种图片格式,包括bmp,jpg,gif,wmf,emf,ico,png,pcx,tif,tga,pcx,dcx ...

  2. [2014.01.27]wfTextImage 文字图像组件 1.6

    全新开发的文字转图像组件--wfTextImage,使用简单,功能强大,图像处理效果极佳.     将大段的文本内容转换成GIF图片.     有效防止文字内容被复制抄袭,有效保护文字资料.      ...

  3. [2014.01.27]wfPng 水印贴图组件 2.1

    支持载入bmp,jpg,gif,png四种格式等. 支持图片水印使用png格式,支持区域透明,半透明的png图片. 支持图片缩放. 支持画线.画矩形.画椭圆,画正圆等图形. 支持在图片上输出文字. 能 ...

  4. [2014.01.27]wfChart 统计图组件 5.6

    本组件支持多种样式图表,包括柱型图.横柱型图.曲线图.饼图.点图.区域图.     可选择的8大主题风格,且主题可再配置,在加快开发的同时又提供更好的图像效果.     组件图表提供两种输出接口,包括 ...

  5. [2014.01.27]wfImage 图像处理组件 3.3

    组件支持多种图片格式,包括bmp,jpg,gif,wmf,emf,ico,png,pcx,tif,tga,pcx,dcx等. 组件提供两种输出接口,包括保存,直接显示(您再也不用定时清理那些临时的垃圾 ...

  6. [2014.01.27]wfPrintOcx 票据打印控件 v5.3

    支持选择打印机,并自动记忆选择的打印机. 适合打印各类票据格式. 支持画正方形.长方形.圆形.椭圆.横线.竖线.HTTP图片. 支持数字金额转换成中文大写金额. 可以设置固定宽度的文字自动换行. 组件 ...

  7. [2014.01.27]WFsoft.wfLibrary.wfVerifyImage 1.8

    全新开发的验证码图片控件--WFsoft.wfLibrary.wfVerifyImage,使用简单,功能强大.     完全支持.net 2.0编写,对下一代操作系统平稳过渡.     同时支持.ne ...

  8. [2014.01.27]WFsoft.wfLibrary.wfIniFile 1.5

    完全支持.net 2.0编写,对下一代操作系统平稳过渡.     不使用[DllImport("kernel32")]的方式,完全自主的.net 2.0自主解析.    完整支持键 ...

  9. [2014.01.27]WFsoft.wfWebCtrl.wfPage 5.9

    wfPage多功能.Net翻页组件,使用简单,功能强大. 提供"首页","上一页","下一页","末页","转 ...

随机推荐

  1. [转] js深拷贝和浅拷贝

    一.数组的深浅拷贝 在使用JavaScript对数组进行操作的时候,我们经常需要将数组进行备份,事实证明如果只是简单的将它赋予其他变量,那么我们只要更改其中的任何一个,然后其他的也会跟着改变,这就导致 ...

  2. ray与triangle/quad求交二三事

    引擎中,ray与quad求交,算法未细看,但有求解二次方程,不解.ray与triangle求交,使用的是97年经典算法,仔细看过论文,多谢小武同学指点,用到了克拉默法则求解线性方程组.想模仿该方法,做 ...

  3. C++开发过程多线程同步lock的实现

    在程序开发过程经常使用到多线程,而多线程始终与锁存在紧密地联系,以下详细的介绍如何在C++程序开发过程中自定义锁的几种方法. 1. 下面给出一段代码展现如何通过Mutex实现锁的功能(window p ...

  4. http 学习 1-1 chapter1-HTTP概述

    Web浏览器.服务器和相关的Web应用程序都是通过HTTP相互通信的.HTTP是现代全球因特网中使用的公共语言. 1.1HTTP – 因特网的多媒体信使 HTTP使用的是可靠的数据传输协议,确保数据在 ...

  5. NoSuchMethodError

    http://www.tuicool.com/articles/iIVbuuZ 有些服务器是指定某个目录下的所有jar包,这样如果同时存在不同版本的jar包,也会引起这个问题,算一个检查点

  6. python 读取并显示图片的两种方法

    在 python 中除了用 opencv,也可以用 matplotlib 和 PIL 这两个库操作图片.本人偏爱 matpoltlib,因为它的语法更像 matlab. 一.matplotlib 1. ...

  7. 4-Spark高级数据分析-第四章 用决策树算法预测森林植被

    预测是非常困难的,更别提预测未来. 4.1 回归简介 随着现代机器学习和数据科学的出现,我们依旧把从“某些值”预测“另外某个值”的思想称为回归.回归是预测一个数值型数量,比如大小.收入和温度,而分类则 ...

  8. 用JavaScript输出表格

    <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/ ...

  9. React的虚拟DOM

    ReactJs的一大特点就是引进了虚拟dom(Virtual DOM)的概念.为什么我们需要Virtual DOM,Virtual DOM给我们带来了什么优势. 首先我们要了解一下浏览器的工作流. 当 ...

  10. 数论 UVALive 2911

    这道题是一道数论题. 题目的意思是告诉m.p.a.b,并且告诉你xi满足的两个条件.让你求出 xp1 + xp2 +...+ xpm 的最大值(其中p<=12,切p是偶数). 这里需要对于xi所 ...