zoukankan      html  css  js  c++  java
  • GDI+生成动画式的Gif图片示例代码


    update : DEOM download from here


    想用GDI+生成动画式的Gif图片示例代码:
    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:\vmlinux\GifImage.gif", FileMode.Create);
    //(Write animation to GifImage.gif)
    gif.Save(fs);
    fs.Close;
  • 相关阅读:
    后台src-app.js详情
    后台中src-router-index.js文件详情
    VUE:如何设置当前页面的背景色
    web移动端项目初始化
    vue路由懒加载及组件懒加载
    浏览器内核
    java 文件读取
    [SUCTF 2019]EasySQL
    Hctf 2016 兵者多诡
    less-17
  • 原文地址:https://www.cnblogs.com/top5/p/1593700.html
Copyright © 2011-2022 走看看