水印图片、图片旋转
来源:互联网 发布:华中测评中心 知乎 编辑:程序博客网 时间:2024/04/29 10:34
操作步骤:
imagemagickimagemagick官网
1)安装此插件,传送命令形式完成操作。
2)如果使用的是java语言,请下载Im4java,里面包含有所需要的jar包im4java-1.4.0.jar
3)
package com.LovePatPrint.action.ceshi;import java.awt.image.BufferedImage;import java.io.File;import java.util.ArrayList;import java.util.List;import java.util.Map;import javax.imageio.ImageIO;import org.im4java.core.ConvertCmd;import org.im4java.core.IMOperation;public class FengZhuang { public static String imageMagickPath = "C:\\Program Files\\ImageMagick-6.9.0-Q16";//插件安装路径 public static boolean flag=false;public static void main(String[] args) {String s="E:\\4.jpg,500, 500, 1550, 900,45;E:\\3.jpg,500, 500, 1550, 200,45";String a[]=s.split(";");List<AddImg> addimglist=new ArrayList<AddImg>();for(int i=0;i<a.length;i++){String aa =a[i];String aaa[]=aa.split(",");for(int g=0;g<aaa.length;g++){AddImg addImg=new AddImg();addImg.setImgSrc(aaa[0]);addImg.setImgWidth(Integer.parseInt(aaa[1].trim()));addImg.setImgHeight(Integer.parseInt(aaa[2].trim()));addImg.setImgx(Integer.parseInt(aaa[3].trim()));addImg.setImgy(Integer.parseInt(aaa[4].trim()));addimglist.add(addImg);}}String srcImg="E:\\4.jpg";String outImg="E:\\44.jpg";//ImageWatermark(srcImg,addimglist,outImg);rotate(srcImg,outImg,190.6789);}/** * 图片水印 * * @param srcImg 源图片 * @param addImgList 水印 * @param outImg 生成图片 */public static void ImageWatermark(String srcImg,List<AddImg>addImgList ,String outImg){ try { // 获取图片的宽高BufferedImage bi = ImageIO.read(new File(srcImg));IMOperation op = new IMOperation();op.addImage(srcImg);//背景图op.compose("dstover");//顶层图片与背景图片交汇处变为无色,未交汇处不变,背景图片显示。//op.compose("over");//覆盖 详细内容详见:<a target=_blank href="http://www.cnblogs.com/mfryf/archive/2012/02/12/2347975.html" target="_self">覆盖方式详解</a>for(int i=0;i<addImgList.size();i++){op.addImage(addImgList.get(i).getImgSrc());//水印图片op.geometry(addImgList.get(i).getImgWidth(), addImgList.get(i).getImgHeight(), addImgList.get(i).getImgx(), addImgList.get(i).getImgy());//水印图片宽、长、 x、 yop.composite();}op.addImage(outImg);ConvertCmd cmd = new ConvertCmd();//linux下不要设置此值,不然会报错 cmd.setSearchPath(imageMagickPath);cmd.run(op);} catch (Exception e) {// TODO Auto-generated catch blocke.printStackTrace();} }/** * 图片旋转 * * @param imagePath * 源图片路径 * @param newPath * 处理后图片路径 * @param degree * 旋转角度 */public static boolean rotate(String imagePath, String newPath, double degree) { try { IMOperation op = new IMOperation(); op.addImage(imagePath); op.background("rgba(255,255,255,1)"); op.rotate(degree); op.addImage(newPath); ConvertCmd cmd = new ConvertCmd();//linux下不要设置此值,不然会报错 cmd.setSearchPath(imageMagickPath); cmd.run(op); flag=true; } catch (Exception e) { flag=false; e.printStackTrace(); //System.out.println("图片旋转失败!"); } return flag;}}
0 0
- 水印图片、图片旋转
- Thumbnailator实现图片压缩,旋转,添加水印
- 在图片添加旋转的水印文字
- Java图片渲染,加水印,旋转,透明....
- 图片水印
- 图片水印
- 图片水印
- 水印图片
- 水印图片
- 图片水印
- 图片水印
- 图片水印
- 图片水印
- 图片水印
- 图片水印
- 图片水印
- 图片水印
- 图片水印
- Lex与Yacc学习(一)之环境配置篇
- root用户运行tomcat提示无权限
- ios socket AsyncSocket使用
- JAVA RESTful Web Services - Jersey 入门
- 我的博客今天5岁4天了,我领取了资…
- 水印图片、图片旋转
- ip段/数字,如192.168.0.1/24的意思是什么?
- Ubuntu 压缩包管理
- php经典面试题--五种以上方法获取扩展名
- 关于单点登陆--LDAP
- 系统自带的badge
- mysql引擎
- SVN 冲突解决办法
- c++ 函数返回引用