Heim >Backend-Entwicklung >Golang >Wie extrahiere ich ein Pixel-Array aus einem Go-Bild?
So erhalten Sie ein Pixelarray aus einem Go-Bild
In Go können Sie ein Pixelarray aus einem aus einer Datei geladenen Bild abrufen Verwenden des Bildpakets. Dieses Array kann aus dem /mobile/gl-Paket an die texImage2D-Methode des Contex übergeben werden.
Um ein Pixel-Array zu erhalten, führen Sie die folgenden Schritte aus:
Laden Sie das Bild aus einer Datei:
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) }
Erstellen Sie ein zweidimensionales Array zum Speichern des Pixels Werte:
var pixels [][]Pixel
Durchlaufen Sie die Bildpixel und extrahieren Sie ihre RGBA-Werte:
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) }
Konvertieren Sie die RGBA-Werte in Pixel:
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)} }
Pixel zurückgeben array:
return pixels
Das zurückgegebene Pixelarray kann an die texImage2D-Methode übergeben werden, um das Bild anzuzeigen.
Das obige ist der detaillierte Inhalt vonWie extrahiere ich ein Pixel-Array aus einem Go-Bild?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!