山有山的沉稳厚重,一年四季却能以不同的色彩风光展示山的美丽。活泼的有单调的一面,安静的有变换的色彩。静与动的搭配,单调与精彩的结合,也就组成了最美的风景。
本文实例讲述了Go语言图片处理和生成缩略图的方法。分享给大家供大家参考。具体实现方法如下:
package main
import (
"fmt"
"os"
"image"
"image/color"
"image/draw"
"image/jpeg"
)
func main() {
f1, err := os.Open("1.jpg")
if err != nil {
panic(err)
}
defer f1.Close()
f2, err := os.Open("2.jpg")
if err != nil {
panic(err)
}
defer f2.Close()
f3, err := os.Create("3.jpg")
if err != nil {
panic(err)
}
defer f3.Close()
m1, err := jpeg.Decode(f1)
if err != nil {
panic(err)
}
bounds := m1.Bounds()
m2, err := jpeg.Decode(f2)
if err != nil {
panic(err)
}
m := image.NewRGBA(bounds)
white := color.RGBA{255, 255, 255, 255}
draw.Draw(m, bounds, &image.Uniform{white}, image.ZP, draw.Src)
draw.Draw(m, bounds, m1, image.ZP, draw.Src)
draw.Draw(m, image.Rect(100, 200, 300, 600), m2, image.Pt(250, 60), draw.Src)
err = jpeg.Encode(f3, m, &jpeg.Options{90})
if err != nil {
panic(err)
}
fmt.Printf("ok\n")
}
希望本文所述对大家的Go语言程序设计有所帮助。
到此这篇关于Go语言图片处理和生成缩略图的方法就介绍到这了。无论你有多少朋友,不能少了书这个诤友。更多相关Go语言图片处理和生成缩略图的方法内容请查看相关栏目,小编编辑不易,再次感谢大家的支持!