72719643 2023-06-18 19:47 采纳率: 100%
浏览 22
已结题

如何解决winform窗体全屏显示gif卡成单帧?

我想在winform窗体背景上全屏显示gif,卡成单帧怎么解决?求解答
代码如下:

Task.Run(() =>
{
    Bitmap animatedGif = new Bitmap(Application.StartupPath + "bone.gif"/*图片路径*/);
    Graphics g = this.CreateGraphics();
    int PropertyTagFrameDelay = 0x5100;
    PropertyItem propItem = animatedGif.GetPropertyItem(PropertyTagFrameDelay);
    byte[] bytes = propItem.Value;
    FrameDimension frameDimension = new FrameDimension(animatedGif.FrameDimensionsList[0]);
    int frameCount = animatedGif.GetFrameCount(FrameDimension.Time);
    while (true)
    {
        for (int i = 0; i <= animatedGif.GetFrameCount(frameDimension) - 1; i++)
        {
            this.BeginInvoke(new Action(() =>
            {
                animatedGif.SelectActiveFrame(frameDimension, i);
                g.DrawImage(animatedGif, 0, 0, f1.Width, f1.Height);
            }));
            Thread.Sleep(100);
        }
    }
});
操作作用
创建animatedGif变量获取gif图像
无限循环循环绘制每一帧
创建i变量帧的索引
  • 写回答

2条回答 默认 最新

  • CSDN-Ada助手 CSDN-AI 官方账号 2023-06-18 23:07
    关注
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(1条)

报告相同问题?

问题事件

  • 已结题 (查看结题原因) 6月20日
  • 已采纳回答 6月20日
  • 创建了问题 6月18日

悬赏问题

  • ¥15 Android Navigation: 某XDirections类不能自动生成
  • ¥20 C#上传XML格式数据
  • ¥15 elementui上传结合oss接口断点续传,现在只差停止上传和继续上传,各大精英看下
  • ¥100 单片机hardfaulr
  • ¥20 手机截图相片分辨率降低一半
  • ¥50 求一段sql语句,遇到小难题了,可以50米解决
  • ¥15 速求,对多种商品的购买力优化问题(用遗传算法、枚举法、粒子群算法、模拟退火算法等方法求解)
  • ¥100 速求!商品购买力最优化问题(用遗传算法求解,给出python代码)
  • ¥15 虚拟机检测,可以是封装好的DLL,可付费
  • ¥15 kafka无法正常启动(只启动了一瞬间会然后挂了)