將多個影像連接成單一較大的影像是影像處理中的常見場景。在 Go 中,使用圖像包可以直接實現這一點。
首先,建立一個尺寸足夠大以容納所有較小影像的新影像。
newImage := image.NewRGBA(image.Rect(0, 0, totalWidth, maxHeight))
這裡,totalWidth 是較小影像的組合寬度,maxHeight 是其中最大高度。
接下來,將每個較小的影像繪製到新的影像上影像。確定每個影像的適當起點和矩形。
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 }
最後,將串聯影像匯出到檔案或流。
out, err := os.Create("output.png") if err != nil { return err } if err := png.Encode(out, newImage); err != nil { return err }
以上是如何使用Go鏡像包將多個影像連接成一個影像?的詳細內容。更多資訊請關注PHP中文網其他相關文章!