我从用户手册中下载了一张图片(请参阅attachment),并且需要对其进行转换。当我尝试通过以下代码加载它时,出现了异常:“无法加载图像。可用的解码器:\ r \ n-JPEG:JpegDecoder \ r \ n-PNG:PngDecoder \ r \ n-GIF:GifDecoder \ r \ n-BMP:BmpDecoder \ r \ n”。 是否可以应用自定义解码器,我在哪里可以找到它们?
using (var originalImage = new MemoryStream(...))
using (var image = Image.Load<Rgba32>(originalImage))
{
}
答案 0 :(得分:0)
可以使用ImageSharp解码链接的图像。正如@tocsoft在评论中所说,您可能忘记了重置输入流位置。
这是两个图像。我们使用以下代码加载并垂直翻转了第二个代码:
using (var image = Image.Load(Path.Combine(inPath, "-7bH2hfA.png")))
{
image.Mutate(x => x.Flip(FlipMode.Vertical));
image.Save(Path.Combine(outPath, "-7bH2hfA-flipped.png"));
}
您的输入图片:
我们翻转的输出图像:
编辑
当我最初测试图像时,我使用了r单击保存,这给了我一个有效的png。此后,我一直使用直接从Dropbox下载的文件来生成原始文件。
不是png!实际上,它是一个webp文件。