Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/.net/20.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 将ImageMagick和GhostScript与nuget一起使用_C#_.net_Azure_Imagemagick_Ghostscript - Fatal编程技术网

C# 将ImageMagick和GhostScript与nuget一起使用

C# 将ImageMagick和GhostScript与nuget一起使用,c#,.net,azure,imagemagick,ghostscript,C#,.net,Azure,Imagemagick,Ghostscript,我发现大多数关于将ImageMagick与ghostscript结合使用的文档都说只需声明ghostscript dll的路径,就像 MagickNET.SetGhostscriptDirectory(AppDomain.CurrentDomain.BaseDirectory); 然后使用MagickImage,如: using (var image = new MagickImage(streamToConvert)) { image.Write(outputStream); }

我发现大多数关于将ImageMagick与ghostscript结合使用的文档都说只需声明ghostscript dll的路径,就像

MagickNET.SetGhostscriptDirectory(AppDomain.CurrentDomain.BaseDirectory);
然后使用MagickImage,如:

using (var image = new MagickImage(streamToConvert))
{
    image.Write(outputStream);
}
现在我有一个azure站点,无法创建这样的路径

我想进口
Visual Studio中的Ghostscript.NET nuget包,但我不知道如何继续,那就是向MagickImage声明在哪里可以找到Ghostscript。如何执行此操作?

只需将Ghostscript DLL复制到项目中,并使用“始终复制”设置。然后,在发布时,您的重影脚本文件将位于正确的文件夹中


现在,在Azure中,当在桌面上开发时,事情并不像您所期望的那样,所以在继续之前,请先看看这一点

最后导入了nuget包Ghostscript.NET,并使用Ghostscript方法创建了图像的“屏幕截图”,然后将其放入MagickImage

_lastInstalledVersion =
            GhostscriptVersionInfo.GetLastInstalledVersion(
                    GhostscriptLicense.GPL | GhostscriptLicense.AFPL,
                    GhostscriptLicense.GPL);

        _rasterizer = new GhostscriptRasterizer();

        _rasterizer.Open(streamToConvert, _lastInstalledVersion, true);

ConvertWithGhostscript(streamToConvert, ghostStream);
ConvertWithImageMagick(ghostStream, outputStream, image.Extension);
image.Write(outputStream);

您还需要对照AGPL v3检查您的使用情况,以确保您的使用与该许可证兼容。