程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> .NET網頁編程 >> C# >> C#入門知識 >> 想用GDI+生成動畫式的Gif圖片示例代碼

想用GDI+生成動畫式的Gif圖片示例代碼

編輯:C#入門知識

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();
\//(The following code create a starting frame from bmp)
\GifImage.GifAnimation gif = new GifImage.GifAnimation(bmp, 
\    GifImage.GraphicControlExt.Default);
\//(Set this property otherwise the animation will not play circularly)
\gif.Application = GifImage.ApplicationExt.Default;
\//(Use global color table only, set this option will greatly decrease the size of output file)
\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();
\//(Create a frame from bitmap)
\    gif.AddFrame(bmp);
\}
\
\f.Dispose();
\g.Dispose();
\bmp.Dispose();
\
\FileStream fs = new FileStream(@"E:vmlinuxGifImage.gif", FileMode.Create);
\//(Write animation to GifImage.gif)
\gif.Save(fs);
\fs.Close;

    

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved