本文實例講述了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語言返回1-99之間隨機數的方法
- Go語言生成隨機數的方法
- 使用Go語言簡單模擬Python的生成器
- Go語言生成素數的方法
- golang模板template自定義函數用法示例
- 深入解析golang編程中函數的用法
- Golang記錄、計算函數執(zhí)行耗時、運行時間的一個簡單方法
- 理解Golang中的數組(array)、切片(slice)和map
- Golang編程實現生成n個從a到b不重復隨機數的方法