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

时间:2012-03-08 18:52:11

标签: c# winforms gdi

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

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

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

2 个答案:

答案 0 :(得分:2)

使用Panel的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));

    }

答案 1 :(得分:1)

既然你在谈论一个小组而且它是C#,我猜你会指的是WinForms。

您可以使用Image方法轮播任何RotateFlip个实例,并且可以使用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();