我正在尝试弄清楚一个由字节数组加载到SKBitmap中的图像格式。我只想知道它是JPEG还是PNG等格式。
// Was the decoding done by a JPEG decoder or PNG or?
var bitmap = SKBitmap.Decode(buffer);
可以的吗?
我正在尝试弄清楚一个由字节数组加载到SKBitmap中的图像格式。我只想知道它是JPEG还是PNG等格式。
// Was the decoding done by a JPEG decoder or PNG or?
var bitmap = SKBitmap.Decode(buffer);
我建议您查看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;
SKCodec
可能只读取您的流的一小部分,它也会处理它... 这很愚蠢,所以您必须使用 MemoryStream。 - jsgoupil