Image manipulation in Golang

前端 未结 1 738
不思量自难忘°
不思量自难忘° 2020-12-13 21:36

I have the following:

  1. Background image (bi)
  2. Image1 (i1)
  3. Image3 (i2)

I want to position i1 and i2 over bi with some angle and t

相关标签:
1条回答
  • 2020-12-13 22:00

    Not sure exactly what you are looking for and I haven't worked with the image package much at all ... but just following the sample code and using graphics-go package (it works for me), I was able to do something at least.

    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})
    }
    
    0 讨论(0)
提交回复
热议问题