我有一些编辑器的绘图代码。它画了几行和一个图像缓冲区。在添加了缩放功能并调用ScaleTransform
之后,我在绘制方法中得到了一个OverflowException
。
有什么东西被超出了界限吗?我的缩放因子是2.0
,我甚至尝试过1.0
,并确保所有窗口大小/缓冲区都足够大。
Graphics.Transform
属性不会重置为单位矩阵。你必须在你的绘画方法开始时自己做这件事:
g.Tranfsorm = new Matrix();
g.ScaleTransform(2.0, 2.0);
否则,在几次指数之后,它将溢出(在我的应用程序中,每秒60帧,这看起来是瞬时的)