如何在 Go 中组合图像
在 Go 中,您可以操作图像以从多个较小的图像创建单个较大的图像。为此,请按照以下步骤操作:
例如,要创建两个图像的水平串联,可以使用以下代码:
import ( "fmt" "image" "image/draw" "image/jpeg" "os" ) func main() { // Load the images img1, err := os.Open("test1.jpg") if err != nil { fmt.Println(err) } img2, err := os.Open("test2.jpg") if err != nil { fmt.Println(err) } img1, _, err = image.Decode(img1) if err != nil { fmt.Println(err) } img2, _, err = image.Decode(img2) if err != nil { fmt.Println(err) } // Create the large image r1 := img1.Bounds() r2 := img2.Bounds() r := image.Rectangle{image.Point{0, 0}, r2.Max} rgba := image.NewRGBA(r) // Draw the images draw.Draw(rgba, r1, img1, image.Point{0, 0}, draw.Src) draw.Draw(rgba, r2, img2, image.Point{r1.Dx(), 0}, draw.Src) // Export the final image out, err := os.Create("output.jpg") if err != nil { fmt.Println(err) } var opt jpeg.Options opt.Quality = 80 jpeg.Encode(out, rgba, &opt) }
以上是如何在 Go 中将多张图像合并为一张?的详细内容。更多信息请关注PHP中文网其他相关文章!