Рассмотрим следующий переопределенный метод OnPaint для элемента управления .NET:
protected override void OnPaint(PaintEventArgs e)
{
base.OnPaint(e);
e.Graphics.RotateTransform(180);
// lots of drawing code
}
Является ли проблемой то, что я не восстанавливаю состояние объекта e.Graphics по завершении?
В Java это часто делается путем создания копии переданного объекта Graphics, таким образом, переданный объект Graphics не изменяется и нет необходимости восстанавливать его состояние.
Аналогичный вопрос Java
Я мог бы добиться этого в .NET с помощью методов Save () / Restore (). Итак, мои вопросы:
- Это необходимая / лучшая практика в .NET для восстановления графического состояния?
- насколько дороги методы Save () / Restore ()?