Maison > Article > développement back-end > Comment puis-je concaténer plusieurs images en une seule image à l’aide du package d’images Go ?
Concaténer plusieurs images en une seule image plus grande est un scénario courant dans le traitement d'images. Dans Go, cela est simple à l'aide du package d'images.
Tout d'abord, créez une nouvelle image avec des dimensions suffisamment grandes pour accueillir toutes les images plus petites.
newImage := image.NewRGBA(image.Rect(0, 0, totalWidth, maxHeight))
Ici, totalWidth est la largeur combinée des images plus petites et maxHeight est la hauteur maximale entre elles.
Ensuite, dessinez chaque image plus petite sur la nouvelle image. Déterminez le point de départ et le rectangle appropriés pour chaque image.
for _, img := range smallerImages { offset := point{dx, 0} // offset of the current image r := img.Bounds() // rectangle of the smaller image newImage.Draw(image.Rect(offset.X, offset.Y, offset.X+r.Dx(), offset.Y+r.Dy()), img, r.Min, draw.Src) dx += r.Dx() // update the x coordinate for the next image }
Enfin, exportez l'image concaténée vers un fichier ou un flux.
out, err := os.Create("output.png") if err != nil { return err } if err := png.Encode(out, newImage); err != nil { return err }
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!