如何使用images harp库将图像转换为一系列字节?
imagesharp库还可以根据EXIF方向建议/提供旋转模板和flipMode?
如果要将原始像素转换为 byte[]
,请执行以下操作。
var bytes = image.SavePixelData()
如果您想将编码的流转换为byte[]
(我怀疑您正在寻找的是(。你这样做。
using (var ms = new MemoryStream())
{
image.Save(ms, imageFormat);
return ms.ToArray();
}
对于那些在2020年之后看的人:
六劳子似乎喜欢命名和添加抽象层的变化,所以...现在,要获取原始字节数据,您可以执行以下步骤。
- 使用
GetPixelMemoryGroup()
方法获取图像的MemoryGroup
。 - 将其转换为阵列(因为
GetPixelMemoryGroup()
返回接口(并取一个元素(如果有人告诉我他们为什么这样做,我会欣赏(。 - 从
System.Memory<TPixel>
获取Span
,然后以旧的方式做事。(我更喜欢@majid评论中的解决方案(
因此,代码看起来很列出:
var _IMemoryGroup = image.GetPixelMemoryGroup();
var _MemoryGroup = _IMemoryGroup.ToArray()[0];
var PixelData = MemoryMarshal.AsBytes(_MemoryGroup.Span).ToArray();
OFC您不必将其分为变量,您可以在一行代码中进行此操作。我只是为了澄清目的。该解决方案仅适用于2020年9月6日