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



我有一些编辑器的绘图代码。它画了几行和一个图像缓冲区。在添加了缩放功能并调用ScaleTransform之后,我在绘制方法中得到了一个OverflowException

有什么东西被超出了界限吗?我的缩放因子是2.0,我甚至尝试过1.0,并确保所有窗口大小/缓冲区都足够大。

Graphics.Transform属性不会重置为单位矩阵。你必须在你的绘画方法开始时自己做这件事:

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

否则,在几次指数之后,它将溢出(在我的应用程序中,每秒60帧,这看起来是瞬时的)

相关内容

  • 没有找到相关文章

最新更新