如何将RGB字节[]切片转换为图像.图像在go中

How do I convert an RGB byte[] slice to an image.Image in go?

本文关键字:图像 转换 go 切片 RGB 字节      更新时间:2023-10-16

在另一个进程中运行的C++应用程序将三字节像素(红、绿、蓝)的char[]数组传递给go程序。我已经在go中使用cgo将其重建为byte[]切片,但我不确定如何转换为图像。如果需要的话,我也可以通过宽度或高度(我想会的)。

我知道这张照片。RGBA类型,但文档似乎暗示这些不仅仅是每种颜色的单个字节,并且假设有一个alpha通道,而我非常简单的位图没有。将我的3字节值转换为适用于图像的值。RGBA是解决方案吗?如果是,我该怎么做?

或者,在将值发送到可识别的格式(jpeg、gif、png)之前,我可以用C/C++进行转换。无论哪种方式都适用于我的用途,但我不知道如何使用。

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

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