Я хочу преобразовать мой массив в изображение 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})
}
}
Есть ли лучший способ добавить альфа-канал, который не предусматривает циклический просмотр каждого пикселя и настройку его индивидуально?
Спасибо!