C# PictureBox Brawing: эффективные советы для использования независимых методов
]в приложении C# Forms вы можете нарисовать пользовательскую графику на управлении PictureBox. Тем не менее, пользователи могут столкнуться с проблемами при попытке сделать это с помощью отдельного метода.
]вопрос:
пользователь может захотеть создать метод для удобного рисования кругов на изображении Box, но обнаруживает, что метод не дает ожидаемых результатов. Метод проблемы инициализирует растровое изображение, графические объекты и кисти, используемые для рисования кругов. Однако, когда вы вызываете в обработчике событий краски из PictureBox, он не может нарисовать круг правильно.
]Решение:
, чтобы эффективно использовать отдельный метод для рисования на PictureBox, обязательно узнайте, должна ли цель нарисовать на изображении, отображаемом PictureBox или непосредственно на самом управлении.
]Метод 1: Нарисуйте непосредственно на контроле
]], чтобы нарисовать непосредственно на управлении (не влияя на изображение), используйте обработчик событий Picture Box, как показано ниже:
]private void pictureBox2_Paint(object sender, PaintEventArgs e)
{
e.Graphics.DrawEllipse(Pens.Red, new Rectangle(3, 4, 44, 44));
}
В этом случае чертеж постоянный, графика связана с элементом управления, после любого изменения размера или перемещения элемента управления.
]Метод 2: Нарисуйте в изображении
], чтобы нарисовать изображение, отображаемое PictureBox, создайте отдельный метод и нарисуйте, используя графический объект, полученный из свойства изображения PictureBox.
]void drawIntoImage()
{
using (Graphics G = Graphics.FromImage(pictureBox1.Image))
{
G.DrawEllipse(Pens.Orange, new Rectangle(13, 14, 44, 44));
}
pictureBox1.Refresh();
}
после завершения чертежа, вызовите метод обновления PictureBox, чтобы обновить дисплей. В этом случае графика постоянна для изображения и влияет на любое масштабирование или преобразование изображения.
]Отказ от ответственности: Все предоставленные ресурсы частично взяты из Интернета. В случае нарушения ваших авторских прав или других прав и интересов, пожалуйста, объясните подробные причины и предоставьте доказательства авторских прав или прав и интересов, а затем отправьте их по электронной почте: [email protected]. Мы сделаем это за вас как можно скорее.
Copyright© 2022 湘ICP备2022001581号-3