1

我正在使用 Magick.NET-Q8 AnyCPU 7.2、Visual Studio 2017、Windows 10 这是我的代码:

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 后出现了这个错误

任何想法 ?

4

1 回答 1

3

似乎新版本的 Magick.NET-Q8 AnyCPU(7.0 或更高版本)可以使用 GPU 来处理调整图像大小,因此您可以通过以下代码强制 Magick.NET 仅使用 CPU:

ImageMagick.OpenCL.IsEnabled = false;

将这行代码放在 resizinig 命令之前,然后 Resize 像以前一样工作。

于 2017-12-29T20:27:39.103 回答