Comment obtenir un tableau de pixels à partir d'une image Go
Dans Go, vous pouvez obtenir un tableau de pixels à partir d'une image chargée à partir d'un fichier en utilisant le package d'images. Ce tableau peut être transmis à la méthode texImage2D du Contex à partir du package /mobile/gl.
Pour obtenir un tableau de pixels, suivez ces étapes :
Chargez le image à partir d'un fichier :
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) }
Créer un tableau bidimensionnel pour stocker le pixel valeurs :
var pixels [][]Pixel
Parcourez les pixels de l'image et extrayez leurs valeurs RGBA :
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) }
Convertissez les valeurs RGBA en pixels :
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)} }
Renvoyer le pixel array:
return pixels
Le tableau de pixels renvoyé peut être transmis à la méthode texImage2D pour afficher l'image.
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!