您的位置:首页 > 编程语言 > Go语言

golang-imagick图片去除边框(黑边,白边,),添加中文字

2015-02-10 11:29 986 查看
图片去除边框(黑边,白边)

package main

import (
"fmt"
"github.com/gographics/imagick/imagick"
"io/ioutil"
"os"
"strconv"
)

func ReadFile(path string) (string, error) {
fi, err := os.Open(path)
if err == nil {
defer fi.Close()
fd, err := ioutil.ReadAll(fi)
return string(fd), err
} else {
return "", err
}

}

func main() {

arg_num := len(os.Args)
if arg_num < 3 {
fmt.Println("./tester [imagepath][trimdistance]")
return
}

imagick.Initialize()
defer imagick.Terminate()

compMW := imagick.NewMagickWand()
compMW.ReadImage(os.Args[1])
trimDistance, _ := strconv.ParseFloat(os.Args[2], 0)

err := compMW.TrimImage(trimDistance)
if err != nil {
fmt.Println("trim failed, ", err)
} else {
compMW.TrimImage(trimDistance)
compMW.WriteImage("./trim.jpg")
fmt.Println("trim success")
}
compMW.Destroy()
}


=========================

追加:为图片添加中文字

===================

func AddTextImage(Args []string) {
imagick.Initialize()
defer imagick.Terminate()
mw := imagick.NewMagickWand()
mw.ReadImage(Args[1])
defer mw.Destroy()

dw := imagick.NewDrawingWand()
defer dw.Destroy()

pw := imagick.NewPixelWand()
pw.SetColor("red")
defer pw.Destroy()
  #这里需要是字体文件的绝对路径
dw.SetFont("./simsun.ttc")
dw.SetFontSize(20)
dw.SetFillColor(pw)
  dw.SetTextEncoding("UTF-8")
mw.AnnotateImage(dw, 20, 20, 0, "@ 你好 Hello...")
mw.DrawImage(dw)

mw.WriteImage("textlog.jpg")
}


=====================

追加:

=====================

不明白,代码加上fuzz的效果没出来,命令行可以进行,也是醉了。

convert ~/Downloads/video1.jpg -fuzz 10% -trim ./trim.jpg

参考:
http://www.imagemagick.org/Usage/crop/#trim http://blog.csdn.net/newborn2012/article/details/24964577
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: