Dalam Go, antara muka imej.Imej mewakili imej yang mengandungi data piksel. Untuk mendapatkan tatasusunan piksel daripada imej.Imej untuk digunakan dalam OpenGL ES 2.0 melalui kaedah texImage2D, anda boleh menggunakan langkah berikut:
type Pixel struct { R int G int B int A int }
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)} }
func getPixels(img image.Image) ([][]Pixel, error) { bounds := img.Bounds() width, height := bounds.Max.X, bounds.Max.Y var pixels [][]Pixel for y := 0; y < height; y++ { var row []Pixel for x := 0; x < width; x++ { row = append(row, rgbaToPixel(img.At(x, y).RGBA())) } pixels = append(pixels, row) } return pixels, nil }
file, err := os.Open("./image.png") if err != nil { fmt.Println("Error: File could not be opened") os.Exit(1) } defer file.Close() pixels, err := getPixels(file) if err != nil { fmt.Println("Error: Image could not be decoded") os.Exit(1) }
Atas ialah kandungan terperinci Bagaimana untuk Mendapatkan Susunan Piksel daripada `image.Image` Go untuk OpenGL ES 2.0?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!