图片去除边框(黑边,白边)

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图片去除边框(黑边,白边,),添加中文字的更多相关文章

  1. 非黑即白--谷歌OCR光学字符识别

    # coding=utf-8 #非黑即白--谷歌OCR光学字符识别 # 颜色的世界里,非黑即白.computer表示深信不疑. # 今天研究一下OCR光学识别庞大领域中的众多分支里的一个开源项目的一个 ...

  2. Android 启动APP时黑屏白屏的三个解决方案

    你会很奇怪,为什么有些app启动时,会出现一会儿的黑屏或者白屏才进入Activity的界面显示,但是有些app却不会如QQ手机端,的确这里要做处理一下.这里先了解一下为什么会出现这样的现象,其实很简单 ...

  3. Android 启动APP时黑屏白屏的三个解决方案(转载)

    你会很奇怪,为什么有些app启动时,会出现一会儿的黑屏或者白屏才进入Activity的界面显示,但是有些app却不会如QQ手机端,的确这里要做处理一下.这里先了解一下为什么会出现这样的现象,其实很简单 ...

  4. C#实现给图片加边框的方法

    Bitmap bit= new Bitmap(@"" + Path);//给图片加边框 //Bitmap bit = new Bitmap(Screen.AllScreens[0] ...

  5. golang实现图片上传

    golang实现图片上传 该代码为使用beego实现前后端图片上传.话不多说,直接上代码. 1.前端代码 html代码: <div class="col-5 f-l text text ...

  6. iOS 解决LaunchScreen中图片加载黑屏问题

    iOS 解决LaunchScreen中图片加载黑屏问题 原文: http://blog.csdn.net/chengkaizone/article/details/50478045 iOS 解决Lau ...

  7. CSS魔法堂:重拾Border之——图片作边框

    前言  当CSS3推出border-radius属性时我们是那么欣喜若狂啊,一想到终于不用再添加额外元素来模拟圆角了,但发现border-radius还分水平半径和垂直半径,然后又发现border-t ...

  8. CSS鼠标悬停图片加边框效果,不位移的方法

    <!DOCTYPE HTML> <html lang="en-US"> <head> <title>css实现鼠标悬停时图片加边框效 ...

  9. listview滚动时背景闪烁,背景黑或白问题解决

    android在使用listview时出现滚动时背景闪烁,变成背景黑或白的问题这样处理: 1:在布局文件中listview标签中加入: android:cacheColorHint="#00 ...

随机推荐

  1. jfinal中Interceptor的使用

    一.拦截器是用于对action请求的拦截处理,发生在进入action方法体之前的拦截操作,这样方便了对请求实例做一些文章.   二.自定义.系统已有拦截器都需要实现Interceptor接口,这样才能 ...

  2. 问题-Ctrl+F7跟踪值时提示“Function to be called, TGGLPolyhedron3d.AsString, was eliminated by linker”

    问题现象:F9运行程序后,选中一个对象,Ctrl+F7跟踪值时,调用对象的某一个方法提示“Function to be called, TGGLPolyhedron3d.AsString, was e ...

  3. 如果本身kali就在局域网,shell在外网,怎么反弹连接呢?

    kali虚拟机使用桥接,路由器端口映射监听的端口即可.

  4. Java单元测试学习

    单元测试的好处 1. 让你写出更好的代码:职业高内聚.低耦合而且接口设计合理的代码才易于测试: 2. 让你在修改代码时更有信心. JUnit4 注解 @Test (expected = Excepti ...

  5. [systemd]Linux系统启动之systemd

    参照:https://wiki.debian.org/systemd 最近在添加板子应用程序自启动的时候,发现在rcN.d中的符号链接并没有用,文件系统为Debian Jessie 8, 后来从同事那 ...

  6. PHP 汉字转成拼音

    <?php class ZH{ /** * 将字符串转化为拼音 */ function Pinyin($_String, $_Code='gb2312') { $_DataKey =" ...

  7. EasyUI 创建Tree

    tree可以被从标记创建.easyui tree应该定义在ul元素中.无序列表ul元素提供了基本tree结构.每一个li元素被产生一个tree节点,子ul元素产生父tree节点.例子:     < ...

  8. 时钟.html

    <!DOCTYPE html><html charset="utf-8"> <head> <title>时钟</title&g ...

  9. 那么类 Man 可以从类 Human 派生,类 Boy 可以从类 Man 派生

    若在逻辑上 B 是 A 的“一种”(a kind of ),则允许 B 继承 A 的功 能和属性. 例如男人(Man)是人(Human)的一种,男孩(Boy)是男人的一种. 那么类 Man 可以从类 ...

  10. storm的集群安装与配置

    storm集群安装 机器:(storm及zookeeper都是这3台机器) 192.168.80.20 192.168.80.21 192.168.80.22 须要准备的软件有: zookeeper( ...