


Wie rufe ich ein Pixel-Array von einem Go „image.Image' für OpenGL ES 2.0 ab?
Pixel-Array-Abruf von Go Image.Image
In Go stellt die image.Image-Schnittstelle ein Bild dar, das Pixeldaten enthält. Um ein Pixelarray aus einem image.Image zur Verwendung in OpenGL ES 2.0 über die texImage2D-Methode zu erhalten, können Sie die folgenden Schritte ausführen:
- Definieren Sie eine benutzerdefinierte Pixelstruktur zur Darstellung einzelner Pixel:
type Pixel struct { R int G int B int A int }
- Erstellen Sie eine Funktion, rgbaToPixel, um RGBA-Werte in ein Pixel umzuwandeln struct:
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)} }
- Schreiben Sie eine Funktion, getPixels, um das Pixelarray aus dem Bild zu extrahieren.Bild:
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 }
- Laden ein Bild und rufen Sie getPixels auf, um das Pixel zu erhalten Array:
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) }
- Verwenden Sie Pixel, um sie nach Bedarf an die texImage2D-Methode zu übergeben.
Das obige ist der detaillierte Inhalt vonWie rufe ich ein Pixel-Array von einem Go „image.Image' für OpenGL ES 2.0 ab?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Heiße KI -Werkzeuge

Undresser.AI Undress
KI-gestützte App zum Erstellen realistischer Aktfotos

AI Clothes Remover
Online-KI-Tool zum Entfernen von Kleidung aus Fotos.

Undress AI Tool
Ausziehbilder kostenlos

Clothoff.io
KI-Kleiderentferner

AI Hentai Generator
Erstellen Sie kostenlos Ai Hentai.

Heißer Artikel

Heiße Werkzeuge

Notepad++7.3.1
Einfach zu bedienender und kostenloser Code-Editor

SublimeText3 chinesische Version
Chinesische Version, sehr einfach zu bedienen

Senden Sie Studio 13.0.1
Leistungsstarke integrierte PHP-Entwicklungsumgebung

Dreamweaver CS6
Visuelle Webentwicklungstools

SublimeText3 Mac-Version
Codebearbeitungssoftware auf Gottesniveau (SublimeText3)

Heiße Themen

GO Language Pack Import: Was ist der Unterschied zwischen Unterstrich und ohne Unterstrich?

Wie kann ich kurzfristige Informationsübertragung zwischen Seiten im BeEGO-Framework implementieren?

Wie konvertieren Sie die Liste der MySQL -Abfrageergebnisse in eine benutzerdefinierte Struktur -Slice in Go -Sprache?

Wie kann ich benutzerdefinierte Typ -Einschränkungen für Generika in Go definieren?

Wie schreibe ich Scheinobjekte und Stubs zum Testen in Go?

Wie schreibe ich Dateien in Go Language bequem?

Wie kann ich Tracing -Tools verwenden, um den Ausführungsfluss meiner GO -Anwendungen zu verstehen?
