在我的项目中,我需要检索自定义图像文件(从磁盘)。如果提供的路径中不存在图像文件,则应用程序将使用默认图像(嵌入式资源)。一旦我有了图像,我需要调整它以便在我的应用程序中进一步使用。
如果我尝试仅访问嵌入式资源(代码部分1),则一切都按预期工作。如果试图在图像上放置一个条件(代码部分2),该对象会在对象上返回各种异常,最明显的是出于我的目的:
> import Data.Bifunctor
> fmap (first (+1)) (Right (1, []))
Right (2, [])
> fmap (first (+1)) (Left ["oops"])
Left ["oops"]
这是我的代码
((System.Drawing.Image)(ReportLogoToUse)).Height' threw an exception of type 'System.ArgumentException' int {System.ArgumentException}
((System.Drawing.Image)(ReportLogoToUse)).Width' threw an exception of type 'System.ArgumentException' int {System.ArgumentException}
Code Code 1和Code Section 2中的对象有什么区别?他们还没有归还同样的物体吗?
答案 0 :(得分:0)
删除using...
部分中的catch...
块,然后只返回文件本身,它现在似乎正在运行。
public static Bitmap ReportLogo(string filePath){
try{
return (Bitmap)Image.FromFile(filePath, true);
}
catch (Exception ex){
// use the embedded logo
return Resources.sie_logo_petrol_rgb;
}
}
对于它现在有效的任何见解将非常感激(因为我完全感到困惑)。