【发布时间】:2014-04-25 08:03:47
【问题描述】:
我有一些我正在使用的编辑器的绘图代码。它画了几条线和一个图像缓冲区。添加缩放功能并调用ScaleTransform 后,我的paint 方法中抛出了OverflowException。
是否有超出范围的缩放?我的缩放因子是2.0,我什至尝试过1.0,并确保所有窗口大小/缓冲区都足够大。
【问题讨论】:
标签: c# winforms scaletransform overflowexception
我有一些我正在使用的编辑器的绘图代码。它画了几条线和一个图像缓冲区。添加缩放功能并调用ScaleTransform 后,我的paint 方法中抛出了OverflowException。
是否有超出范围的缩放?我的缩放因子是2.0,我什至尝试过1.0,并确保所有窗口大小/缓冲区都足够大。
【问题讨论】:
标签: c# winforms scaletransform overflowexception
Graphics.Transform 属性未重置为单位矩阵。您必须在您的绘制方法开始时自己执行此操作:
g.Tranfsorm = new Matrix();
g.ScaleTransform(2.0, 2.0);
否则在几个指数之后它会溢出(在我的应用程序中以每秒 60 帧的速度,这似乎是瞬时的)
【讨论】:
CreateGraphics :)