Windows Forms 'PictureBox Control предлагает удобный способ отображения изображений. Тем не менее, эффективная интеграция пользовательских методов рисования с событием PictureBox Paint
требует тщательного рассмотрения. Это руководство объясняет, как беспрепятственно объединить пользовательскую логику рисования с помощью обработчика Paint
.
Понимание Paint
Methods
PictureBox Paint
стреляет, когда управление требует перекраски (например, изменение размера, изменения изображения). Ваш пользовательский метод рисования (например, circle ()
) инкапсулирует логику чертежа, потенциально возвращая bitmap
object.
стратегии интеграции
существуют два основных подхода для интеграции вашего метода пользовательского рисования:
]1. Прямой рисунок на Control:
] Этот подход напрямую рисует на PictureBox, используя объект e.graphics
в обработчике Paint
. Изменения постоянны для перекрашенных.
private void pictureBox1_Paint(object sender, PaintEventArgs e)
{
e.Graphics.DrawEllipse(Pens.Red, new Rectangle(3, 4, 44, 44));
// ... other drawing operations ...
}
2. Рисунок в изображении:
Этот метод изменяет базовый PictureBox Image
свойство. Изменения постоянны, потому что они изменяют саму растровое изображение. Используйте graphics.fromimage (picturebox1.image)
, чтобы создать graphics
объект для рисования, затем вызовите picturebox1.refresh ()
, чтобы обновить дисплей.
void drawIntoImage()
{
using (Graphics G = Graphics.FromImage(pictureBox1.Image))
{
G.DrawEllipse(Pens.Orange, new Rectangle(13, 14, 44, 44));
// ... other drawing operations ...
}
pictureBox1.Refresh();
}
] выбор лучшего подхода
]Оптимальный подход зависит от ваших конкретных потребностей. Прямой рисунок подходит, когда вам нужны немедленные, настойчивые изменения непосредственно на изображении. Чертеж в изображение предпочтительнее, когда вы хотите изменить базовую растровую карту, гарантируя, что эти изменения остаются даже после нескольких перекрасовц.
]Отказ от ответственности: Все предоставленные ресурсы частично взяты из Интернета. В случае нарушения ваших авторских прав или других прав и интересов, пожалуйста, объясните подробные причины и предоставьте доказательства авторских прав или прав и интересов, а затем отправьте их по электронной почте: [email protected]. Мы сделаем это за вас как можно скорее.
Copyright© 2022 湘ICP备2022001581号-3