Création d'une seule image à partir de plusieurs images dans Go
Question :
Dans Go, comment pouvons-nous combiner plusieurs fichiers image (par exemple, PNG ou JPEG) en une seule image plus grande ?
Réponse :
Pour concaténer des images dans Go, suivez ces étapes :
Charger les images :
img1, _, err := image.Decode(os.Open("test1.jpg")) img2, _, err := image.Decode(os.Open("test2.jpg"))
Déterminer la position :
Décidez où la deuxième image doit être placée par rapport à la première. Par exemple, si vous souhaitez le placer à droite, utilisez ce qui suit :
sp2 := image.Point{img1.Bounds().Dx(), 0}
Créez un grand rectangle :
Calculez un rectangle qui couvre les deux images :
r := image.Rectangle{image.Point{0, 0}, r2.Max}
Créer une nouvelle image :
Créer une nouvelle image suffisamment grande pour contenir les deux images :
rgba := image.NewRGBA(r)
Dessinez les images :
Utilisez la fonction Dessiner pour placer les images sur la nouvelle image :
draw.Draw(rgba, img1.Bounds(), img1, image.Point{0, 0}, draw.Src) draw.Draw(rgba, r2, img2, sp2, draw.Src)
Enregistrer la sortie :
Exporter l'image combinée :
out, err := os.Create("./output.jpg") jpeg.Encode(out, rgba, &jpeg.Options{ Quality: 80, })
En suivant ces étapes, vous pouvez créer une seule image composée de plusieurs images, en l'agrandissant vos capacités de manipulation d'images dans Go.
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!