open System.Drawing
let bitmap = new Bitmap(16,16)
let path = __SOURCE_DIRECTORY__
bitmap.Save(path+"bitmap.png")
我编写了上面的代码,将实例化的Bitmap保存到项目文件夹中。我运行代码时遇到了一般错误。整堆错误消息如下所示。
System.Exception:通用错误[GDI +状态:GenericError] 在System.Drawing.GDIPlus.CheckStatus(System.Drawing.Status status)[0x00079] in:0 在System.Drawing.Image.Save(System.String filename,System.Drawing.Imaging.ImageCodecInfo encoder,System.Drawing.Imaging.EncoderParameters encoderParams)[0x0003d] in:0 在System.Drawing.Image.Save(System.String filename,System.Drawing.Imaging.ImageFormat格式)[0x00044] in:0 在System.Drawing.Image.Save(System.String filename)[0x00008] in:0 at(wrapper remoting-invoke-with-check)System.Drawing.Image:Save(string) at。$ FSI_0037.main @()[0x00006] in< 4081182357644f828a64898ac573806b&gt ;:0 at(wrapper managed-to-native)System.Reflection.MonoMethod:InternalInvoke(System.Reflection.MonoMethod,object,object [],System.Exception&) 在System.Reflection.MonoMethod.Invoke(System.Object obj,System.Reflection.BindingFlags invokeAttr,System.Reflection.Binder binder,System.Object [] parameters,System.Globalization.CultureInfo culture)[0x00032] in:0
我调试了代码并找出了以下内容。
我刚开始学习F#而无法弄清楚问题。任何人都可以帮忙吗?
答案 0 :(得分:1)
问题来自" SOURCE_DIRECTORY "的代码。 在大多数情况下, SOURCE_DIRECTORY 的值不包含' /'在它的最后。因此最后一行代码可以更改为下面的代码。
bitmap.Save(path+"/bitmap.png")
我的情况是, SOURCE_DIRECTORY 的值是单个" /"。虽然我还没弄清楚原因,但是通过在位图保存功能中指定一个带有文件名的现有目录,可以解决所描述的问题。