Поворот изображения в c # - PullRequest
0 голосов
/ 04 мая 2018

Хотелось бы, чтобы изображение в графическом окне могло переворачиваться при нажатии левой клавиши, как показано на рисунке ниже, но оно не переворачивалось при нажатии левой клавиши. Кто-нибудь может помочь? Большое спасибо!

namespace WindowsFormsApp1
{
    public partial class Form1 : Form
{
    public Form1()
    {
        InitializeComponent();
        KeyDown += new KeyEventHandler(Form1_KeyDown);
    }

    private void Form1_KeyDown(object sender, KeyEventArgs e)
    {
        int x = pictureBox1.Location.X;
        int y = pictureBox1.Location.Y;

        if (e.KeyCode == Keys.Right)
        {
            x += 10;
        }

        else if (e.KeyCode == Keys.Left)
        {
            pictureBox1.Image.RotateFlip(RotateFlipType.Rotate180FlipX);
            pictureBox1.Refresh();
            x -= 10;
        }

        else if (e.KeyCode == Keys.Up)
        {
            y -= 10;
        }

        pictureBox1.Location = new Point (x, y);

        pictureBox1.Invalidate();
    }
}
}

1 Ответ

0 голосов
/ 04 мая 2018

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

Официально см. Эту ссылку из документации Microsoft https://msdn.microsoft.com/en-us/library/system.drawing.image.rotateflip(v=vs.110).aspx

...