Go语言图片处理和生成缩略图的方法
2015-02-24 10:57
585 查看
复制代码 代码如下:
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语言程序设计有所帮助。
您可能感兴趣的文章:
相关文章推荐
- FileUpload控件上传图片并自动生成缩略图、自动生成带文字和图片的水印图的方法
- asp.net 等比例生成上传图片的高质量缩略图的方法
- U811.1接口EAI系列之二--生成销售出库单调用U8的EAI通用处理方法--PowerBuilder语言
- PHPThumb处理图片,生成缩略图,图片尺寸调整,图片截取,图片加水印,图片旋转
- .net生成图片的缩略图的2种方法
- Android 图片压缩也即生成缩略图方法
- Android 图片压缩也即生成缩略图方法
- dedecms 后台使用远程图片生成不了缩略图原因和解决方法
- 利用Go语言上传图像并生成缩略图
- C#生成图片缩略图、水印及上传的几个通用方法
- C#生成图片缩略图、水印及上传的几个通用方法
- Android 图片压缩也即生成缩略图方法
- php上传图片自动生成缩略图方法函数
- 实用开发一:c#封装好的处理图片的水印和生成缩略图的类
- C#生成图片缩略图、水印及上传的几个通用方法
- C#图片生成缩略图的方法(之一),
- php 修改图片的大小、裁剪图片以及生成缩略图方法
- 将一张图片处理成多张不用尺寸的图片 自动生成缩略图 类似淘宝主图处理
- 把网上的图片取下来生成缩略图,以前在CSDN的一个朋友教的方法.