在另一个进程中运行的C ++应用程序将一个三字节像素(红色,绿色,蓝色)的char []数组传递给go程序。我使用cgo作为byte []切片重建了这个,但我不确定如何转换为图像。我也可以传递宽度或高度,如果需要的话(我会想象)。
我知道image.RGBA类型,但文档似乎暗示那些不是单字节每颜色,并假设有一个alpha通道,我非常简单的位图没有。将我拥有的3字节值转换为适用于image.RGBA的解决方案吗?如果是这样,我该怎么做?
或者,我可以在将值发送到可识别的格式(jpeg,gif,png)之前在C / C ++中进行转换。无论哪种方式都适用于我的用途,但我也不知道如何处理。
答案 0 :(得分:2)
image
包基于接口。只需使用those methods定义新类型。
您的类型ColorModel
将返回color.RGBAModel
,Bounds
- 您的矩形的边框,At
- 您可以计算的(x,y)颜色,如果您知道的话图像的尺寸。