Go에서 image.Image 인터페이스는 픽셀 데이터가 포함된 이미지를 나타냅니다. texImage2D 메서드를 통해 OpenGL ES 2.0에서 사용할 image.Image에서 픽셀 배열을 얻으려면 다음 단계를 사용할 수 있습니다.
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) }
위 내용은 OpenGL ES 2.0용 Go `image.Image`에서 픽셀 배열을 검색하는 방법은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!