考虑以下用于 .NET 控件的重写 OnPaint 方法:
protected override void OnPaint(PaintEventArgs e)
{
base.OnPaint(e);
e.Graphics.RotateTransform(180);
// lots of drawing code
}
完成后不恢复 e.Graphics 对象的状态是否有问题?
在 Java 中,这通常是通过制作传递的 Graphics 对象的副本来完成的,因此传递的 Graphics 对象不会改变,也不需要恢复它的状态。 类似的 Java 问题
我可以通过使用 Save() / Restore() 方法在 .NET 中实现这一点。所以我的问题是:
- .NET 中恢复图形状态是否必要/最佳实践?
- Save() / Restore() 方法有多贵?