添加Alpha通道性能

时间:2018-05-25 17:37:54

标签: image numpy go

我想将我的数组转换为PNG图像。它目前是RGB8编码的图像。我可以使用以下代码执行此操作:

s2 := make([]uint8, 2048*2448*3)
err = dset.Read(&s2)
if err != nil {
    panic(err)
}

var (
    width  = 2048
    height = 2448
    rgb    = 3
)

to1D := func(x, y int) int {
    return (x * height * rgb) + (rgb * y)
}

img := image.NewRGBA(image.Rect(0, 0, width, height))
for ix := 0; ix < width; ix++ {
    for iy := 0; iy < height; iy++ {
        cords := to1D(ix, iy)
        img.SetRGBA(ix, iy, color.RGBA{R: s2[cords], G: s2[cords+1], B: s2[cords+2], A: 255})
    }
}

是否有更好的方法来添加不涉及循环每个像素并单独设置的Alpha通道?

谢谢!

0 个答案:

没有答案