如何使用ImageSharp库将图像转换为字节数组?
ImageSharp库是否也可以建议/提供基于EXIF方向的RotateMode和FlipMode?
发布于 2018-05-02 13:38:29
如果您希望将原始像素转换为byte[],请执行以下操作。
var bytes = image.SavePixelData()如果您希望将编码后的流转换为byte[] (我怀疑这就是您正在寻找的)。你可以这么做。
using (var ms = new MemoryStream())
{
image.Save(ms, imageFormat);
return ms.ToArray();
}发布于 2020-09-06 05:42:18
对于那些关注2020年后的人:
SixLabors似乎喜欢在命名和添加抽象层方面的变化,所以...现在,要获取原始字节数据,请执行以下步骤。
获取图像的第一个元素(如果有人告诉我为什么要这样做,我会appreciate).
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日
https://stackoverflow.com/questions/50025908
复制相似问题