考慮以下場景:
目標是將 i1 和 i2 以特定角度定位在 bi 上並建立最終影像。提供了 i1 和 i2 的座標及其旋轉角度。 i1 和 i2 可能部分重疊,但 z-index 決定哪個影像應該出現在前景中。
任務是在 Golang 中實作此功能。
Go 映像包提供影像操作功能,如「Go 中的圖片繪製」所述(http://golang.org/doc/articles/image_draw.html) 。
要將影像與旋轉結合起來,建議使用名為graphics-go的輔助套件。下面是一個範例Go 程序,示範了兩個影像的旋轉組合:
package main import ( "fmt" "os" "image/draw" "image" "image/jpeg" "code.google.com/p/graphics-go/graphics" ) func main() { fImg1, _ := os.Open("arrow1.jpg") defer fImg1.Close() img1, _, _ := image.Decode(fImg1) fImg2, _ := os.Open("arrow2.jpg") defer fImg2.Close() img2, _, _ := image.Decode(fImg2) m := image.NewRGBA(image.Rect(0, 0, 800, 600)) draw.Draw(m, m.Bounds(), img1, image.Point{0,0}, draw.Src) //draw.Draw(m, m.Bounds(), img2, image.Point{-200,-200}, draw.Src) graphics.Rotate(m, img2, &graphics.RotateOptions{3.5}) toimg, _ := os.Create("new.jpg") defer toimg.Close() jpeg.Encode(toimg, m, &jpeg.Options{jpeg.DefaultQuality}) }
在此範例中:
以上是如何在 Go 中組合和旋轉影像?的詳細內容。更多資訊請關注PHP中文網其他相關文章!