У меня есть элемент управления PictureBox, событие Paint которого я использую для отображения некоторых иллюстраций в зависимости от состояния приложения. Мне нужно установить следующие свойства:Настройка параметров Graphics.QualityXXX в центре, а не изнутри PictureBox.Paint
private void PictureBox_Paint (object sender, System.Windows.Forms.PaintEventArgs e)
{
e.Graphics.CompositingMode = CompositingMode.SourceOver;
e.Graphics.CompositingQuality = CompositingQuality.HighQuality;
e.Graphics.InterpolationMode = InterpolationMode.HighQualityBicubic;
e.Graphics.SmoothingMode = SmoothingMode.HighQuality;
e.Graphics.TextRenderingHint = TextRenderingHint.AntiAlias;
}
Это прекрасно работает, но эти свойства устанавливаются каждый раз, когда событие Pain запускаемый который довольно часто. Есть ли способ централизованно установить эти свойства? Обратите внимание, что размер элемента управления PictureBox может измениться, если пользователь изменит размер окна.
Я знаю, что я могу связать изображение с элементом управления PictureBox и вместо этого сохранить ссылку на графический объект для этого изображения. Но я хотел узнать, возможно ли выше, без явного изображения.
Установка этих свойств занимает 0,00000001% времени, необходимого для фактического рисования. Держи это как есть. Если он повторяется во многих событиях «Pain» (nice typo!), Тогда создайте метод где-нибудь «void SetGraphics (Graphics graphics)», чтобы установить их сразу. – Sinatr