如何将RGB byte []切片转换为image.Image in go?

时间:2015-03-31 16:32:07

标签: c++ image bitmap go

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

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

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

1 个答案:

答案 0 :(得分:2)

image包基于接口。只需使用those methods定义新类型。

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