C# 图片框旋转

本文关键字:旋转 | 更新日期: 2023-09-27 18:34:53

如何在PictureBox内旋转图像?我的PictureBox中有一个简单的吃豆人.gif图像,它在运行时工作正常(向各个方向移动(。但是我想在按左键或右键时旋转我的 gif。实际上它旋转正常,但在运行时动画停止工作。

 private void Form1_KeyDown(object sender, KeyEventArgs e)
    {
        switch (e.KeyCode)
        {
            case Keys.Left:
                pictureBox1.Left -= 7;
                break;
            case Keys.Right:
                  pictureBox1.Image.RotateFlip(RotateFlipType.RotateNoneFlipX);
        pictureBox1.Left += 7;
                break;
            case Keys.Up:
                pictureBox1.Top -= 7;
                break;
            case Keys.Down:
                pictureBox1.Top += 7;
                break;
        }
    }

这是我的代码。但是 gif 不起作用。

C# 图片框旋转

至少在

原则上,使用 RotateFlip 方法您走在正确的轨道上,尽管我没有看到您进行旋转,只是您显示的代码发生了翻转。

不要听那些链接到自由旋转代码的人;你只需要旋转90°或倍数。

但是,您就是无法旋转动画 gif 并期望它之后工作。

相反,您应该使用 gif 创建/编辑工具并在那里创建旋转和/或翻转的版本,并在转弯时加载正确的版本。

GDI 方法只会旋转第一帧并有效地破坏 GIF 中的动画。在 c# 中操作动画 GIF 并不是真正支持的。