Как использовать Graphics.DrawImage в событии Paint, но в форме круга? ⇐ 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); } } } } но в этой версии это сделано и изменено на те формы, которые я хотел: круг или прямоугольник, но теперь нарисованные изображения больше не перемещаются вместе с курсором мыши. и в первой версии он двигался мышкой вверху. .
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); } } } } но в этой версии это сделано и изменено на те формы, которые я хотел: круг или прямоугольник, но теперь нарисованные изображения больше не перемещаются вместе с курсором мыши. и в первой версии он двигался мышкой вверху. .
-
- Похожие темы
- Ответы
- Просмотры
- Последнее сообщение
-
-
Как я могу использовать DrawImage ReportLab с URL -адресом изображения?
Anonymous » » в форуме Python - 0 Ответы
- 5 Просмотры
-
Последнее сообщение Anonymous
-
-
-
Есть ли способ изменить размер изображения внутри круга, не меняя размер круга? [закрыто]
Anonymous » » в форуме CSS - 0 Ответы
- 28 Просмотры
-
Последнее сообщение Anonymous
-