gpt4 book ai didi

C# Magick.Net "no decode delegate for this image format"与 SVG

转载 作者:行者123 更新时间:2023-11-30 20:47:22 24 4
gpt4 key购买 nike

我安装了 ImageMagick-6.8.9-Q16,可以成功运行 convert test.svg test.pdf 并获得有效的 pdf 输出。

在我的项目中,我安装了 Magick.NET-Q16-x86 版本 7.0.0.003,我可以使用它成功转换其他格式。

但是,当我运行以下代码时,出现“iisexpress.exe:此图像格式没有解码委托(delegate)”错误:

using (var image = new MagickImage(File.OpenRead("C:\\Temp\\SvgToPdf\\test.svg"))) //error here
{
image.Format = MagickFormat.Pdf;
image.Write("C:\\Temp\\SvgToPdf\\test.pdf");
}

有什么想法吗?

最佳答案

废话......你不知道我会在发布后几分钟内弄清楚......这就是为什么我不问很多问题!

无论如何,对于那些想知道的人来说,问题在于使用 File.OpenRead 打开文件(可能在 FileStream 中没有所有必要的信息)。将我的代码更改为此有效:

using (var image = new MagickImage("C:\\Temp\\SvgToPdf\\test.svg"))
{
image.Format = MagickFormat.Pdf;
image.Write("C:\\Temp\\SvgToPdf\\test.pdf");
}

感谢dlemstra当您确实需要使用Stream时的替代解决方案!

var readSettings = new MagickReadSettings() { Format = MagickFormat.Svg };
var image = new MagickImage(svgStream, readSettings);

关于C# Magick.Net "no decode delegate for this image format"与 SVG,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25877140/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com