Home >Backend Development >Golang >How Can I Overlay and Rotate Images in Golang?
In Golang, the manipulation of images is possible through the image package. This package provides the necessary tools for drawing, resizing, and transforming images.
Consider three images: a background image (bi), and two other images (i1 and i2). The goal is to position i1 and i2 over bi at specific angles, ensuring proper placement based on their z-index values.
To achieve this, Golang offers the graphics-go package, which supports image rotations. The following pseudo-program outlines the solution:
import ( "image" "image/jpeg" "os" "code.google.com/p/graphics-go/graphics" ) func main() { // Load the images img1, _, _ := image.Decode(os.Open("image1.jpg")) img2, _, _ = image.Decode(os.Open("image2.jpg")) // Create a new image canvas m := image.NewRGBA(image.Rect(0, 0, 800, 600)) // Draw the background image draw.Draw(m, m.Bounds(), img1, image.Point{0, 0}, draw.Src) // Apply rotation to the second image graphics.Rotate(m, img2, &graphics.RotateOptions{Angle: 3.5}) // Save the final image jpeg.Encode(os.Create("final-image.jpg"), m, &jpeg.Options{jpeg.DefaultQuality}) }
The above is the detailed content of How Can I Overlay and Rotate Images in Golang?. For more information, please follow other related articles on the PHP Chinese website!