У меня есть следующий код, который я написал, чтобы попробовать и повернуть растровое изображение (это тест), идея состоит в том, чтобы взять растровое изображение и повернуть его на некоторое количество градусов, а затем нарисовать его на экран с помощью Win FormsВращающаяся графика/изображение в C#
protected override void OnDoubleClick(EventArgs e)
{
base.OnDoubleClick(e);
Graphics g = this.CreateGraphics();
Bitmap b = new Bitmap(path);
g.Clear(Color.White);
imagePosition = Cursor.Position;
b = RotateImage(b, 45);
g.DrawImage(b, new Point(100, 100));
}
public Bitmap RotateImage(Bitmap b, float angle)
{
Bitmap returnBitmap = new Bitmap(b.Width, b.Height);
returnBitmap.SetResolution(b.HorizontalResolution, b.VerticalResolution);
Graphics g = Graphics.FromImage(returnBitmap);
g.TranslateTransform((float)b.Width/2, (float)b.Height/2);
g.RotateTransform(angle);
g.TranslateTransform(-(float)b.Width/2, -(float)b.Height/2);
g.DrawImage(b, new Point(0, 0));
return returnBitmap;
}
это изображение перед тем вращения
, и это изображение после поворота на 45 градусов, как было показано в коде
В чем проблема? Неужели изображение обрезается? – ChrisF
Я так думаю, но я не знаю, почему – sgame
я не понял вопрос вначале, да проблема в том, что изображение обрезается – sgame