【发布时间】:2013-07-02 17:35:42
【问题描述】:
我正在将一些代码从 Windows 窗体程序移动到 WPF 程序,并且在以下代码中遇到了错误。
//our private vars
private Bitmap bmp;
private Graphics g;
public NewFitnessCalculator()
{
bmp = new System.Drawing.Bitmap(Tools.MaxWidth, Tools.MaxHeight);
g = Graphics.FromImage(bmp);
}
错误表明new System.Drawing.Bitmap 的参数无效,但据我所知它们都是int(即使直接转换为int,问题仍然存在)。此外,此代码在 Windows 窗体版本中运行良好 - 我不确定这是否是 WPF 的问题。
在这种情况下,Tools.MaxWidth/Height 是来自另一个类的public static ints(也是public static)。它们被初始化为200,然后分别设置为另一个位图的宽度和高度。
任何帮助将不胜感激。
【问题讨论】:
-
你传入的值是什么,看看这个stackoverflow.com/questions/5801652/…
-
我遇到了值为 465 的错误 - 这应该不会因为太大而导致任何错误,不是吗?
-
您是否有多个引用同名类的
using语句?尝试删除System.Drawingusing 语句并显式调用System.Drawing.Graphics.FromImage -
我仅有的两个类似的
using语句是System.Drawing和System.Drawing.Imaging(如果我删除其中一个,我会得到错误)。另外,我不想复制我的输入图像,只需使用它的尺寸。 -
当程序的可用非托管堆空间非常低时,可能会引发此异常。您遗漏了“有关程序内存使用情况的一些提示”的详细信息。