代码语言
.
CSharp
.
JS
Java
Asp.Net
C
MSSQL
PHP
Css
PLSQL
Python
Shell
EBS
ASP
Perl
ObjC
VB.Net
VBS
MYSQL
GO
Delphi
AS
DB2
Domino
Rails
ActionScript
Scala
代码分类
文件
系统
字符串
数据库
网络相关
图形/GUI
多媒体
算法
游戏
Jquery
Extjs
Android
HTML5
菜单
网页交互
WinForm
控件
企业应用
安全与加密
脚本/批处理
开放平台
其它
【
CSharp
】
C#合成gif
作者:
Dezai.CN
/ 发布于
2011/9/6
/
797
<div> using System; using System.Text; using System.IO; using System.Drawing; using System.Drawing.Imaging; namespace ConsoleApplication1 { class Program { static void Main(string[] args) { //测试把两张现成的图形文件合成一个动画gif //FileInfo fi = new FileInfo(@"E:\My Work Place\vmlinux\@Win32App\ConsoleApplication1\1.gif"); //GifImage.GifAnimation gif = new GifImage.GifAnimation(fi.OpenRead()); //FileInfo fi2 = new FileInfo(@"E:\My Work Place\vmlinux\@Win32App\ConsoleApplication1\2.gif"); //GifImage.GifAnimation gif2 = new GifImage.GifAnimation(fi2.OpenRead()); //GifImage.NullDescriptor nd = new GifImage.NullDescriptor(); //gif.Application = new GifImage.ApplicationExt("NETSCAPE", "2.0", new byte[] {3,1,0,0 }); //gif.Control = new GifImage.GraphicControlExt(1, false, false, 36, 0); //GifImage.ImageDescriptor desc=(GifImage.ImageDescriptor)gif.Blocks[1]; //desc.CopyColors(gif.Screen); //gif.Screen.CopyColors(nd); //desc=(GifImage.ImageDescriptor)gif2.Blocks[1]; //desc.CopyColors(gif2.Screen); //gif2.Screen.CopyColors(nd); //gif.AddBlocks(gif2.Blocks); //测试动画gif的文件分析能力和重新写入的正确性 //FileInfo fi = new FileInfo(@"E:\My Work Place\vmlinux\Win32App\ConsoleApplication1\ps.gif"); //GifImage.GifAnimation gif = new GifImage.GifAnimation(fi.OpenRead()); //测试文本扩展块 //GifImage.GifAnimation gif = new GifImage.GifAnimation( // new Bitmap(@"E:\My Work Place\vmlinux\Win32App\ConsoleApplication1\1.gif"), // new GifImage.GraphicControlExt(1, false, false, 35, 0) // ); //gif.Application = new GifImage.ApplicationExt("NETSCAPE", "2.0", new byte[] { 3, 1, 0, 0 }); //gif.AddFrame("hello"); //测试自动生成gif动画帧并做成动画输出 //GifImage.GifAnimation gif = new GifImage.GifAnimation( // new Bitmap(@"E:\My Work Place\vmlinux\Win32App\ConsoleApplication1\1.gif"), // new GifImage.GraphicControlExt(1, false, false, 15, 0) // ); //gif.Application = new GifImage.ApplicationExt("NETSCAPE", "2.0", new byte[] { 3, 1, 0, 0 }); //gif.AddFrame(new Bitmap(@"E:\My Work Place\vmlinux\Win32App\ConsoleApplication1\2.gif")); //Bitmap bmp = new Bitmap(gif.Screen.Width, gif.Screen.Height); //Graphics g = Graphics.FromImage(bmp); //for (int i = 0; i < 20; ++i) //{ // g.Clear(Color.White); // g.DrawEllipse(Pens.Blue, 50, 100, 20+i*3, 50); // g.Flush(); // gif.AddFrame(bmp); //} //g.Dispose(); //bmp.Dispose(); //测试动画合成 //FileInfo fi = new FileInfo(@"E:\My Work Place\vmlinux\Win32App\ConsoleApplication1\x.gif"); //GifImage.GifAnimation gif = new GifImage.GifAnimation(fi.OpenRead()); //gif.Control = new GifImage.GraphicControlExt(1, false, false, 36, 0); //gif.AddFrame(new Bitmap(@"E:\My Work Place\vmlinux\Win32App\ConsoleApplication1\2.gif")); //gif.InsertFrame(new Bitmap(@"E:\My Work Place\vmlinux\Win32App\ConsoleApplication1\1.gif"),2); //FileInfo frm = new FileInfo(@"E:\My Work Place\vmlinux\frm.gif"); //gif.SaveFrame(frm.OpenWrite(),4); Bitmap bmp = new Bitmap(100, 100); Graphics g = Graphics.FromImage(bmp); Font f = new Font("arial", 11f); Brush b = Brushes.Blue; string txt = "Rotate text animation!"; SizeF sz = g.MeasureString(txt, f); g.Clear(Color.WhiteSmoke); g.DrawString(txt, f, b, 50-sz.Width/2, 50-sz.Height/2); g.Flush(); GifImage.GifAnimation gif = new GifImage.GifAnimation(bmp, GifImage.GraphicControlExt.Default); gif.Application = GifImage.ApplicationExt.Default; gif.UseGlobalColorTableOnly = true; for (int i = 1; i < 36; ++i) { g.Clear(Color.WhiteSmoke); g.TranslateTransform(50,50); g.RotateTransform(10f * i); g.DrawString(txt, f, b, sz.Width/-2, sz.Height/-2); g.ResetTransform(); g.DrawString("Hello", f, Brushes.Red, -50 + i * 4, 20); g.DrawString("Yeah", f, Brushes.Orange, 60, -20+i*4); g.Flush(); gif.AddFrame(bmp); } f.Dispose(); g.Dispose(); bmp.Dispose(); FileStream fs = new FileStream(@"E:\vmlinux\out.gif", FileMode.Create); gif.Save(fs); fs.Close(); Console.WriteLine("{0}x{1}", gif.Screen.Width, gif.Screen.Height); } } } </div>
试试其它关键字
合成gif
同语言下
.
文件IO 操作类库
.
Check图片类型[JPEG(.jpg 、.jpeg),TIF,GIF,BMP,PNG,P
.
机器名和IP取得(IPV4 IPV6)
.
Tiff转换Bitmap
.
linqHelper
.
MadieHelper.cs
.
RegHelper.cs
.
如果关闭一个窗体后激活另一个窗体的事件或方法
.
创建日志通用类
.
串口辅助开发类
可能有用的
.
实现测量程序运行时间及cpu使用时间
.
C#实现的html内容截取
.
List 切割成几份 工具类
.
SQL查询 多列合并成一行用逗号隔开
.
一行一行读取txt的内容
.
C#动态修改文件夹名称(FSO实现,不移动文件)
.
c# 移动文件或文件夹
.
c#图片添加水印
.
Java PDF转换成图片并输出给前台展示
.
网站后台修改图片尺寸代码
Dezai.CN
贡献的其它代码
(
4037
)
.
多线程Socket服务器模块
.
生成随机密码
.
清除浮动样式
.
弹出窗口居中
.
抓取url的函数
.
使用base HTTP验证
.
div模拟iframe嵌入效果
.
通过header转向的方法
.
Session操作类
.
执行sqlite输入插入操作后获得自动编号的ID
Copyright © 2004 - 2024 dezai.cn. All Rights Reserved
站长博客
粤ICP备13059550号-3