Использование графики для загрузки изображения и его поворота на панель - PullRequest
0 голосов
/ 08 марта 2012

Я пытаюсь использовать графический объект, чтобы загрузить изображение, а затем повернуть его (книжное или альбомное) и затем отобразить его на панели (не в графическом окне).

Как бы загрузить графику в панель? Также, что было бы самым простым способом сделать альбомную или книжную ротацию на графическом объекте?

GDI должен использоваться для поворота и работы с изображением, мне нужен способ получить графический объект на панель.

Ответы [ 2 ]

2 голосов
/ 08 марта 2012

Используйте событие Paint Panel:

    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 голос
/ 08 марта 2012

Поскольку вы говорите о панели, и это 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();
...