使用 SkiaSharp 查找加载位图的文件格式?

Bri*_*nga 4 skiasharp

我试图找出由字节数组加载到 SKBitmap 中的图像的格式。我只是想知道它是 JPEG 还是 PNG 等。

// Was the decoding done by a JPEG decoder or PNG or?
var bitmap = SKBitmap.Decode(buffer);    
Run Code Online (Sandbox Code Playgroud)

这可能吗?

Mat*_*hew 11

我想看看SKCodec

https://learn.microsoft.com/dotnet/api/skiasharp.skcodec

这甚至不加载实际的图像数据——只是标题。这样,读取文件类型时不使用内存堆栈。

要读取类型,请使用以下EncodedFormat属性:

https://learn.microsoft.com/dotnet/api/skiasharp.skcodec.encodedformat

using var codec = SKCodec.Create(...);
var format = codec.EncodedFormat;
Run Code Online (Sandbox Code Playgroud)

  • 即使这个“SKCodec”可能只读取流的一部分,它也会处理它......这很愚蠢,所以你必须创建一个 MemoryStream。 (5认同)