为了账号安全,请及时绑定邮箱和手机立即绑定

如何在 go 中将 RGB 字节 [] 切片转换为 image.Image?

如何在 go 中将 RGB 字节 [] 切片转换为 image.Image?

Go
慕田峪9158850 2021-09-27 16:01:11
在另一个进程中运行的 C++ 应用程序将一个由三字节像素(红色、绿色、蓝色)组成的 char[] 数组传递给 go 程序。我已经使用 cgo 在 go 中将其重建为 byte[] 切片,但我不确定如何转换为图像。如果需要,我也可以传递宽度或高度(我想是的)。我知道image.RGBA类型,但文档似乎暗示那些不仅仅是每颜色单字节,并且假设有一个 alpha 通道,而我的非常简单的位图没有。将我拥有的 3 字节值转换为适用于 image.RGBA 的东西是一种解决方案吗?如果是这样,我该怎么做?或者,我可以在将值发送为可识别的格式(jpeg、gif、png)之前在 C/C++ 中进行转换。无论哪种方式都适用于我的用途,但我也不知道如何处理。
查看完整描述

1 回答

?
慕的地6264312

TA贡献1817条经验 获得超6个赞

image包基于接口。只需用这些方法定义一个新类型。

您的类型ColorModel将返回color.RGBAModelBounds- 您的矩形的边框,以及At- 如果您知道图像的尺寸,您可以计算的 (x, y) 处的颜色。


查看完整回答
反对 回复 2021-09-27
  • 1 回答
  • 0 关注
  • 560 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信