使用Graphics.ScaleTransform时为什么会出现OverflowException?

时间:2014-04-25 08:03:47

标签: c# winforms scaletransform overflowexception

我正在为我正在制作的编辑器提供一些绘图代码。它绘制了几行和一个图像缓冲区。添加缩放功能并调用ScaleTransform后,我的绘制方法中会出现OverflowException

某些东西是否超出范围?我的缩放系数是2.0,我甚至尝试了1.0并确保所有窗口大小/缓冲区足够大。

1 个答案:

答案 0 :(得分:0)

Graphics.Transform属性未重置为单位矩阵。你必须在paint方法的开头自己做这件事:

g.Tranfsorm = new Matrix();
g.ScaleTransform(2.0, 2.0);

否则在几个指数之后它会溢出(在我的应用程序中每秒60帧,这似乎是瞬间的)