golang-imagick图片去除边框(黑边,白边,),添加中文字
图片去除边框(黑边,白边)
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 < {
fmt.Println("./tester [imagepath][trimdistance]")
return
} imagick.Initialize()
defer imagick.Terminate() compMW := imagick.NewMagickWand()
compMW.ReadImage(os.Args[])
trimDistance, _ := strconv.ParseFloat(os.Args[], ) 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[])
defer mw.Destroy()
dw := imagick.NewDrawingWand()
defer dw.Destroy()
pw := imagick.NewPixelWand()
pw.SetColor("red")
defer pw.Destroy()
#这里需要是字体文件的绝对路径
dw.SetFont("./simsun.ttc")
dw.SetFontSize()
dw.SetFillColor(pw)
dw.SetTextEncoding("UTF-8")
mw.AnnotateImage(dw, , , , "@ 你好 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
golang-imagick图片去除边框(黑边,白边,),添加中文字的更多相关文章
- 非黑即白--谷歌OCR光学字符识别
# coding=utf-8 #非黑即白--谷歌OCR光学字符识别 # 颜色的世界里,非黑即白.computer表示深信不疑. # 今天研究一下OCR光学识别庞大领域中的众多分支里的一个开源项目的一个 ...
- Android 启动APP时黑屏白屏的三个解决方案
你会很奇怪,为什么有些app启动时,会出现一会儿的黑屏或者白屏才进入Activity的界面显示,但是有些app却不会如QQ手机端,的确这里要做处理一下.这里先了解一下为什么会出现这样的现象,其实很简单 ...
- Android 启动APP时黑屏白屏的三个解决方案(转载)
你会很奇怪,为什么有些app启动时,会出现一会儿的黑屏或者白屏才进入Activity的界面显示,但是有些app却不会如QQ手机端,的确这里要做处理一下.这里先了解一下为什么会出现这样的现象,其实很简单 ...
- C#实现给图片加边框的方法
Bitmap bit= new Bitmap(@"" + Path);//给图片加边框 //Bitmap bit = new Bitmap(Screen.AllScreens[0] ...
- golang实现图片上传
golang实现图片上传 该代码为使用beego实现前后端图片上传.话不多说,直接上代码. 1.前端代码 html代码: <div class="col-5 f-l text text ...
- iOS 解决LaunchScreen中图片加载黑屏问题
iOS 解决LaunchScreen中图片加载黑屏问题 原文: http://blog.csdn.net/chengkaizone/article/details/50478045 iOS 解决Lau ...
- CSS魔法堂:重拾Border之——图片作边框
前言 当CSS3推出border-radius属性时我们是那么欣喜若狂啊,一想到终于不用再添加额外元素来模拟圆角了,但发现border-radius还分水平半径和垂直半径,然后又发现border-t ...
- CSS鼠标悬停图片加边框效果,不位移的方法
<!DOCTYPE HTML> <html lang="en-US"> <head> <title>css实现鼠标悬停时图片加边框效 ...
- listview滚动时背景闪烁,背景黑或白问题解决
android在使用listview时出现滚动时背景闪烁,变成背景黑或白的问题这样处理: 1:在布局文件中listview标签中加入: android:cacheColorHint="#00 ...
随机推荐
- 原创jQuery插件之图片自适应
效果图例如以下: 功能:使图片自适应居中位于容器内 限制:容器须要给定大小 用法: 1.引入jQuery.然后引入fitimg插件 2.给须要图片自适应的容器固定宽高 3.header .accoun ...
- 开启Visual Studio 2013时,出现Microsoft.VisualStudio.Web.PasteJson.JsonPackage无法载入的可能解決方案
1.先下载:http://www.jb51.net/dll/Microsoft.VisualStudio.Web.PasteJson.dll.html Microsoft.VisualStudio.W ...
- Android——Activity中的六个主要函数
Android Activity中的六个主要函数 Android中一个Activity一般都需要实现六个函数: onCreate(), onStart(), onResume(),onPause(), ...
- html -- contenteditable 属性:指定元素内容是否可编辑
所有主流浏览器都支持 contenteditable 属性 定义和用法 contenteditable 属性指定元素内容是否可编辑. 注意: 当元素中没有设置 contenteditable 属性时, ...
- 学习:inets
inets模块 MODULE SUMMARY The inets services API. inets:start():启动应用.
- Administrator privileges required for OLE Remote Procedure Call debugging: this feature will not work..
VC++ 6.0单步调试(F10)出现警告框: 解决方法: 右键VC++ 6.0程序图标
- python_cookies
1.将cookies保存到变量中,然后打印cookie中的值 #coding:utf-8 #将cookies保存到变量中,然后打印cookie中的值 import urllib2 import coo ...
- 简单配置Nginx 指向本地端口,并开启SSL
简单配置Nginx 指向本地端口,并开启SSL,如果要开启SSL,必须使用域名去申请SSL key,一般是两个文件,一般是要收费的. # 在/etc/nginx/nginx.conf 的文件中有下面一 ...
- WPF Expander控件(扩展面板)
这算是我比较喜欢的一个控件,以前在Winform中也常用类似的.它包装了一块内容,通过单击一个小箭头按钮可以显示或隐藏所包含的内容.在线帮助以及Web页面经常使用这种技术,因为既可以包含大量内容,而又 ...
- linux C之alarm函数 转
原文出处:http://blog.sina.com.cn/s/blog_6a1837e90100uhl3.html alarm也称为闹钟函数,alarm()用来设置信号SIGALRM在经过参数seco ...