0
我正在使用w32库来允许我使用Go语言进行窗口化。我不太确定如何处理unsafe.Pointer
,这将允许我开始设置像素缓冲区中的像素值。如何在Go中写入DIBits结构?
我使用unsafe.Pointer
,因为这就是w32库期望我在CreateDIBSection函数中传递的值。
var p unsafe.Pointer
bitmap := w32.CreateDIBSection(srcDC, &bmi, w32.DIB_RGB_COLORS, &p, w32.HANDLE(0), 0)
该代码成功,给了我一个指针,它指向DIBBits存储在存储器中的位置。我怎样才能使用它来编写值?
p[idx] = 0xff
会给我一个错误type unsafe.Pointer does not allow indexing
。我已阅读了关于unsafe.Pointer的相关文档,但无法弄清楚如何将其视为可写入的字节缓冲区。
我是Go的新手,已经在gobyexample.com上完成了很多示例,但无法弄清楚。