Rumah >pembangunan bahagian belakang >Golang >Bagaimana untuk Mengekstrak Tatasusunan Pixel daripada Imej Go?
Cara Mendapatkan Tatasusunan Pixel daripada Imej Go
Dalam Go, anda boleh mendapatkan tatasusunan piksel daripada imej yang dimuatkan daripada fail menggunakan pakej imej. Tatasusunan ini boleh dihantar kepada kaedah texImage2D bagi Contex daripada pakej /mobile/gl.
Untuk mendapatkan tatasusunan piksel, ikuti langkah berikut:
Muatkan imej daripada fail:
a, err := asset.Open("key.jpeg") if err != nil { log.Fatal(err) } defer a.Close() img, _, err := image.Decode(a) if err != nil { log.Fatal(err) }
Buat tatasusunan dwi-dimensi untuk menyimpan piksel nilai:
var pixels [][]Pixel
Lelar melalui piksel imej dan ekstrak nilai RGBAnya:
bounds := img.Bounds() width, height := bounds.Max.X, bounds.Max.Y for y := 0; y < height; y++ { var row []Pixel for x := 0; x < width; x++ { r, g, b, a := img.At(x, y).RGBA() pixel := rgbaToPixel(r, g, b, a) row = append(row, pixel) } pixels = append(pixels, row) }
Tukar nilai RGBA kepada piksel:
func rgbaToPixel(r uint32, g uint32, b uint32, a uint32) Pixel { return Pixel{int(r / 257), int(g / 257), int(b / 257), int(a / 257)} }
Kembalikan piksel tatasusunan:
return pixels
Susun atur piksel yang dikembalikan boleh dihantar ke kaedah texImage2D untuk memaparkan imej.
Atas ialah kandungan terperinci Bagaimana untuk Mengekstrak Tatasusunan Pixel daripada Imej Go?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!