Considere o seguinte cenário:
A Fundamento Image (Bi)
(i2)
importação ( "FMT" "OS" "Imagem/desenho" "imagem" "Image/jpeg" "code.google.com/p/graphics-go/graphics" ) func main () { FIMG1, _: = os.open ("Arrow1.jpg") adiar fImg1.close () IMG1, _, _: = image.Decode (FIMG1) FIMG2, _: = os.open ("Arrow2.jpg") adiar 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") adiar toimg.close () JPEG.ENCODE (TOIMG, M, & JPEG.Options {jpeg.defaultQuality}) }
Neste exemplo:
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}) }duas imagens, "Arrow1.jpg" e "Arrow2.jpg", são carregadas na memória. origem. Consulte sua documentação para obter detalhes.
Isenção de responsabilidade: Todos os recursos fornecidos são parcialmente provenientes da Internet. Se houver qualquer violação de seus direitos autorais ou outros direitos e interesses, explique os motivos detalhados e forneça prova de direitos autorais ou direitos e interesses e envie-a para o e-mail: [email protected]. Nós cuidaremos disso para você o mais rápido possível.
Copyright© 2022 湘ICP备2022001581号-3