im4java 图片 水印_im4java 处理图片

操作完上面2步,下面就很好操作了。因为im4java是基于imagemagick的commandline进行调用的java接口,不像jmagick那样用java jni调用本地imagemagick的api那么复杂。其实安装imagemagick在任何平台都是一样的安装,在linux下面有rpm包,安装那个包,指定目录就可以了。windows一样,安装并指定安装路径就可以了。下面上代码

public static String FROM = "E:/project/Test/src/com/8301.jpg";

public static String TO = "E:/project/Test/src/com/8301_new.jpg";

public static String IMAGEMAGICK = "D:/Program Files (x86)/ImageMagick-6.8.7-Q16";

/**

* @param args

*/

public static void main(String[] args) {

handlerImage(1000, 1000);

}

public static void handlerImage(int width, int height) {

IMOperation op = new IMOperation();

op.addImage(FROM);

op.resize(width, height);//压缩图片

op.addImage(TO);

ConvertCmd convert = new ConvertCmd();

convert.setSearchPath(IMAGEMAGICK);

try {

convert.run(op);

} catch (IOException | InterruptedException | IM4JavaException e) {

e.printStackTrace();

}

}

/**

*

* 根据坐标裁剪图片

*

* @param srcPath 要裁剪图片的路径

* @param newPath 裁剪图片后的路径

* @param x 起始横坐标

* @param y 起始纵坐标

* @param x1 结束横坐标

* @param y1 结束纵坐标

*/

public static void cutImage(String srcPath, String newPath, int x, int y, int x1, int y1) throws Exception {

int width = x1 - x;

int height = y1 - y;

IMOperation op = new IMOperation();

op.addImage(srcPath);

/**

* width: 裁剪的宽度

* height: 裁剪的高度

* x: 裁剪的横坐标

* y: 裁剪的挫坐标

*/

op.crop(width, height, x, y);

op.addImage(newPath);

ConvertCmd convert = new ConvertCmd();

// linux下不要设置此值,不然会报错

convert.setSearchPath(imageMagickPath);

convert.run(op);

}

/**

* 给图片加水印

* @param srcPath 源图片路径

*/

public static void addImgText(String srcPath) throws Exception {

IMOperation op = new IMOperation();

op.font("宋体").gravity("southeast").pointsize(18).fill("#BCBFC8")

.draw("text 5,5 juziku.com");

op.addImage();

op.addImage();

ConvertCmd convert = new ConvertCmd();

// linux下不要设置此值,不然会报错

convert.setSearchPath(imageMagickPath);

convert.run(op, srcPath, srcPath);

}

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值