Go语言图片处理和生成缩略图的方法
程序员文章站
2022-04-10 08:01:57
本文实例讲述了go语言图片处理和生成缩略图的方法。分享给大家供大家参考。具体实现方法如下:
复制代码 代码如下:package main
import (
 ...
本文实例讲述了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")
}
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语言程序设计有所帮助。
上一篇: MySQL之递归小问题