使用“图形”加载图像并将其旋转到面板中

本文关键字:旋转 图形 加载 图像 使用 | 更新日期: 2023-09-27 18:27:21

我正在尝试使用图形对象加载图像,然后旋转它(纵向或横向),然后在面板(而不是图片框)中显示它。

如何在面板中加载图形?此外,在图形对象上进行横向或纵向旋转的最简单方法是什么?

GDI必须用于旋转和处理图像,我需要一种方法将Graphics对象放入面板中。

使用“图形”加载图像并将其旋转到面板中

使用面板的Paint事件:

    private void panel1_Paint(object sender, PaintEventArgs e)
    {
        int angle = 90;
        Graphics g = e.Graphics;
        Image i = new Bitmap(@"C:'Jellyfish.jpg");
        g.TranslateTransform((float)i.Width / 2, (float)i.Height / 2);
        g.RotateTransform(angle);
        g.TranslateTransform(-(float)i.Width / 2, -(float)i.Height / 2);
        g.DrawImage(i, new Point(0,0));
    }

既然你说的是一个面板,它是C#,我猜你指的是WinForms。

可以使用RotateFlip方法旋转任何Image实例,也可以将Image用作面板的BackgroundImage。一个工作示例:

Bitmap bitmap = new Bitmap(@"D:'word.png");
bitmap.RotateFlip(RotateFlipType.Rotate90FlipNone);
Form form = new Form() { Height = 400, Width = 600 };
Panel p = new Panel() { Height = 400, Width = 600, Left = 0, Top = 0};
form.Controls.Add(p);
p.BackgroundImage = bitmap;
form.Show();