首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >使用ImageSharp将Image<Rgba32>转换为Byte[]

使用ImageSharp将Image<Rgba32>转换为Byte[]
EN

Stack Overflow用户
提问于 2018-04-25 23:18:33
回答 2查看 6.5K关注 0票数 6

如何使用ImageSharp库将图像转换为字节数组?

ImageSharp库是否也可以建议/提供基于EXIF方向的RotateMode和FlipMode?

EN

回答 2

Stack Overflow用户

发布于 2018-05-02 13:38:29

如果您希望将原始像素转换为byte[],请执行以下操作。

代码语言:javascript
复制
var bytes = image.SavePixelData()

如果您希望将编码后的流转换为byte[] (我怀疑这就是您正在寻找的)。你可以这么做。

代码语言:javascript
复制
using (var ms = new MemoryStream())
{
    image.Save(ms, imageFormat);
    return ms.ToArray();
}
票数 11
EN

Stack Overflow用户

发布于 2020-09-06 05:42:18

对于那些关注2020年后的人:

SixLabors似乎喜欢在命名和添加抽象层方面的变化,所以...现在,要获取原始字节数据,请执行以下步骤。

获取图像的第一个元素(如果有人告诉我为什么要这样做,我会appreciate).

  • From
  1. MemoryGroup GetPixelMemoryGroup() System.Memory<TPixel> Span ),然后用老方法做一些事情。(我更喜欢@Majid评论中的解决方案)

所以代码看起来像下面这行:

代码语言:javascript
复制
var _IMemoryGroup = image.GetPixelMemoryGroup();
var _MemoryGroup = _IMemoryGroup.ToArray()[0];
var PixelData = MemoryMarshal.AsBytes(_MemoryGroup.Span).ToArray();

ofc你不必把它拆分成变量,你可以在一行代码中做到这一点。我这样做只是为了澄清。此解决方案仅适用于2020年9月6日

票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/50025908

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档