C#制作透明背景GIF动画(演示+源码)
生成 A~Z 26个字母的GIF图.


使用说明:
private void btn_Click(object sender, EventArgs e)
{
//GIF图片大小
Zgke.MyImage.ImageGif _Gif = new Zgke.MyImage.ImageGif(250, 38);
int _Temp = (int)’A’;
for (int i = 0; i != 26; i++)
{
Bitmap _BitMap = new Bitmap(250, 38);//临时对角
Graphics _G = Graphics.FromImage(_BitMap);
char T = (char)_Temp;
_G.DrawString(T.ToString().PadLeft(9, T), new Font("Arial", 24), Brushes.Red, 0, 0);
_Gif.AddImage(_BitMap, 100, true, Zgke.MyImage.ImageGif.DisposalMethod.NoDisposalImage);
_G.Dispose();
_Temp++;
_BitMap.Dispose();
}
pictureBox1.Image = _Gif.Image;
_Gif.SaveFile(@"C:\1.gif");
//预览显示
pictureBox1.Image = Image.FromFile(@"C:\1.gif");
}
牛X超强ImageGif类:
namespace Zgke.MyImage
{
/// <summary>
/// GIF操作类
/// zgke@sina.com
/// QQ:116149
/// 转自:http://blog.csdn.net/zgke/archive/2009/01/06/3721389.aspx
/// </summary>
public class ImageGif
{
private Header m_Header;
private LogicalScreen m_LogicalScreen;
private ColorTable m_GlobalColorTable;
private IList<ExtensionIntroducer> m_ExtensionIntroducer = new List<ExtensionIntroducer>();
private ApplicationExtension m_ApplicationExtension;
private IList<GraphicControlExtension> m_GraphicControlExtension = new List<GraphicControlExtension>();
/// <summary>
/// 当前位置
/// </summary>
private int m_Index = 0;
private bool m_Open = false;
/// <summary>
/// 是否正常打开
/// </summary>
public bool OpenOK { get { return m_Open; } }
/// <summary>
/// 图形数量
/// </summary>
public int ImageCount { get { return m_GraphicControlExtension.Count; } }
/// <summary>
/// 获取GIF图形
/// </summary>
public Image Image
{..........}
//请下载源代码.....................................................