2017-12-27 40 views
0

我使用Magick.NET-Q8 AnyCPU 7.2时,Visual Studio 2017年时,Windows 10 这是我的代码:Magick.NET-Q8 7.2休息,我不能捕获错误

using (MagickImage image = new MagickImage(imagedata)) 
{ 
    image.Quality = 60; 
    image.Format = MagickFormat.Jpg; 
    image.Composite(new MagickImage(watermarkFullPath), CompositeOperator.Over); 

    //Save Big Image , This line works properly 
    image.Write("somewhere\\myimage.jpg"); 

    //Save Smaller 
    image.Resize(width, height); 

    try 
    { 
     //this line breaks and nothing is done 
     //program jumps over the whole function 
     image.Write("somewhere\\mysmallimage.jpg"); 
    } 
    catch 
    { 
     //the error never reaches here 
    } 
} 

为什么程序打破没有错误跟踪? 我也注意到,这个错误出现在我升级我的开发Windows 从8.1到10之后出现

任何想法?

回答

1

看来Magick.NET-Q8 AnyCPU(7.0或更新版本)的新版本可以使用GPU来处理调整图像大小,所以你可以强制Magick.NET只能通过下面的代码使用CPU:

ImageMagick.OpenCL.IsEnabled = false; 

认沽resizinig命令之前的这行代码然后Resize像以前一样工作。