Как использовать Graphics.DrawImage в событии Paint, но в форме круга?C#

Место общения программистов C#
Ответить Пред. темаСлед. тема
Гость
 Как использовать Graphics.DrawImage в событии Paint, но в форме круга?

Сообщение Гость »


private void imageBoxCroppedImages_Paint(отправитель объекта, PaintEventArgs e) { если (drawBorder) { ControlPaint.DrawBorder(e.Graphics, PictureBoxCroppedImages.ClientRectangle, Color.Red, ButtonBorderStyle.Solid); } если (!isRealTimeCropping) { if (rectImage != null && DrawingRects.Count > 0) { вар др = DrawingRects.Last(); e.Graphics.DrawImage(rectImage, dr.Rect); если (clearRectangles) { РисованиеРекты.Очистить(); PictureBoxImageToCrop.Invalidate(); } } } if (isRealTimeCropping && realTimeCroppedImage != null) { // Рисуем обрезанное изображение в реальном времени в относительной позиции курсора e.Graphics.DrawImage(realTimeCroppedImage, realTimeCursorPos); } } При рисовании изображения внизу строки:

e.Graphics.DrawImage(realTimeCroppedImage, realTimeCursorPos); Есть ли способ продолжать рисовать изображение, но придать ему форму круга? теперь изображение, как и в оригинале, имеет прямоугольную форму.

Я попробовал это:

private void imageBoxCroppedImages_Paint(отправитель объекта, PaintEventArgs e) { если (drawBorder) { ControlPaint.DrawBorder(e.Graphics, PictureBoxCroppedImages.ClientRectangle, Color.Red, ButtonBorderStyle.Solid); } if (isRealTimeCropping && realTimeCroppedImage != null) { // Обработка формы обрезки на основе выбора переключателя если (radioButtonRectangular.Checked) { e.Graphics.DrawImage(realTimeCroppedImage, 0, 0); // Рисуем изображение в верхнем левом углу } иначе, если (radioButtonCircular.Checked) { используя (путь GraphicsPath = новый GraphicsPath()) { path.AddEllipse(0, 0, realTimeCroppedImage.Width, realTimeCroppedImage.Height); e.Graphics.SetClip(путь); e.Graphics.DrawImage(realTimeCroppedImage, 0, 0); } } } } но в этой версии это сделано и изменено на те формы, которые я хотел: круг или прямоугольник, но теперь нарисованные изображения больше не перемещаются вместе с курсором мыши. и в первой версии он двигался мышкой вверху. .
Реклама
Ответить Пред. темаСлед. тема

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение

Вернуться в «C#»