Итак, я работаю над проектом, и в настоящее время я нахожусь на последних штрихах в части изображения. Но тут возникает проблема. Когда я установил флажок для переворачивания изображения , оно переворачивается.
Как это:
Но когда я нажимаю кнопку «Принять» (это для сохранения изображения в коллекцию объектов), это происходит:
Я использовал отладчик Visual Studio, и проблема, я думаю, заключается в том, что onPaint для pictureBox снова и снова вызывается, как и метод для рисования изображений. Итак, мой вопрос, как я могу предотвратить это?
Метод рисования изображения
public LayerClass ImageDrawing(LayerClass.Type img, Bitmap bm, RectangleF imgRect, String filepath, int angle, PaintEventArgs e, PointF location, bool flip)
{
bm = (Bitmap)Image.FromFile(filepath);
bm = new Bitmap(bm, (int)imgRect.Width, (int)imgRect.Height); //Scaling Image
bm = ImageClass.GrayscaleImage(bm); //Grayscale
bm = MakeTransparentImage(bm); //Transparent
bm = RotateImage(bm, angle);
if (flip)
bm.RotateFlip(RotateFlipType.RotateNoneFlipX);
e.Graphics.InterpolationMode = InterpolationMode.HighQualityBicubic;
e.Graphics.SmoothingMode = SmoothingMode.AntiAlias;
e.Graphics.CompositingQuality = CompositingQuality.HighQuality;
e.Graphics.CompositingQuality = CompositingQuality.HighSpeed;
imgRect.Size = new SizeF(bm.Width, bm.Height);
e.Graphics.DrawImage(bm, imgRect.X - (bm.Width / 2), imgRect.Y - (bm.Height / 2));
this.imageBitmap = bm;
this.filePath = filePath;
this.rotationAngle = angle;
this.location = location;
this.imageRect = imgRect;
this.flipped = flip;
return new LayerClass(LayerClass.Type.Image, this, filePath, imgRect, location, flip);
}