图片复制、添加水印及其他处理、二维码生成

图片处理相关方法
二维码生成相关方法

再pom.xml中添加dependency

<dependency>
      <groupId>cn.hutool</groupId>
      <artifactId>hutool-all</artifactId>
      <version>${hutool.version}</version>
    </dependency>

图片处理:

复制图片

package com.spring.orm.Aop;

import org.slf4j.Logger;
import org.slf4j.LoggerFactory;

import java.io.*;

/**
 * Created by User on 2019/3/11.
 */
public class ImageCopy {
    private static final Logger logger= LoggerFactory.getLogger(ImageCopy.class);

    public void copyImage()throws IOException{
        logger.info("开始将图片从D盘复制到E盘...");
        File srcFile =new File("D:/img1.jpg");
        File destFile=new File("E:/img1.jpg");
        InputStream in=new FileInputStream(srcFile);
        OutputStream out=new FileOutputStream(destFile);
        byte[] bytes=new byte[(int) srcFile.length()];
        int len;
        while ((len = in.read(bytes))!=-1){
            out.write(bytes, 0,len);

        }
        in.close();
        out.close();
    }
}

添加水印及其他操作

package com.spring.orm.Aop;

import cn.hutool.core.util.ImageUtil;
import org.aspectj.lang.annotation.AfterReturning;
import org.aspectj.lang.annotation.Aspect;
import org.aspectj.lang.annotation.Before;
import org.aspectj.lang.annotation.Pointcut;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;

import javax.imageio.ImageIO;
import java.awt.*;
import java.awt.image.BufferedImage;
import java.io.File;
import java.io.FileInputStream;
import java.io.IOException;
import java.io.InputStream;

/**
 * Created by User on 2019/3/11.
 */
@Aspect
public class ImageHandler {
    private  static final Logger logger = LoggerFactory.getLogger(ImageHandler.class);
//    切点函数,必须为空
    @Pointcut("execution(* com.spring.orm.Aop.ImageCopy.copyImage())")
    public void handleImage(){

    }
    @Before(value = "handleImage()")
    public void pressTextOnImage()throws IOException{
        logger.info("开始给图片添加水印");
        File srcFile = new File("D:/img.jpg");
        InputStream input= new FileInputStream(srcFile);
        BufferedImage srcImg = ImageIO.read(input);
        int width=srcImg.getWidth();
        int height=srcImg.getHeight();
        System.out.println("原图宽:"+width+",原图高:"+height);
        File destFile=new File("D:/img1.jpg");
        Color color =new Color(211,71,38);
        int size=20;
        Font font =new Font("微软雅黑",Font.BOLD,size);
        String text="zrl";
        ImageUtil.pressText(srcFile,destFile,text,color,font,(width-text.length()*size)/2,height/2-size,1.0F);

    }
    @AfterReturning("handleImage()")
    public void grayImage(){
        logger.info("开始将图片转成黑白");
        File srcFile=new File("E:/img1.jpg");
        File destFile=new File("E:/img2.jpg");
        ImageUtil.gray(srcFile,destFile);
    }
}

运行类

public class ImageCopyApp {
    public static void main(String[] args) {
        ApplicationContext context=new ClassPathXmlApplicationContext("Spring.xml");
        ImageCopy imageCopy=context.getBean(ImageCopy.class);
        try{
            imageCopy.copyImage();
        }catch(IOException e){
            e.printStackTrace();
        }
    }
}

生成网站二维码:

package com.spring.orm.Aop;

import cn.hutool.core.io.FileUtil;
import cn.hutool.extra.qrcode.QrCodeUtil;
import cn.hutool.extra.qrcode.QrConfig;

import java.awt.*;

/**
 * Created by User on 2019/3/11.
 */
public class QrCode {
    public static void main(String[] args) {
       QrConfig config=new QrConfig(300,300);
       config.setImg("d:/img.jpg");
       config.setMargin(3);
        Color foreColor=new Color(173,255,47);
        Color bgColor=new Color(240,255,240);
        int foreColorRGB=foreColor.getRGB();
        int bgColorRGB=bgColor.getRGB();
        config.setForeColor(foreColorRGB);
        config.setBackColor(bgColorRGB);
        QrCodeUtil.generate("https://www.jianshu.com/u/ce6045cb864d",config,FileUtil.file("E:/Logo.jpg"));
    }
}
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 这几部电影让我想起,至今心有不安。 一是《珍爱》,记得看的时候坐立难安。 当时是被文学院女生讨论了上百次的外国文学...
    葉鹿阅读 814评论 0 0
  • 2018.04.15 宜 小伙伴聊天 忌 一个人看星星 嗯ヽ(^㉨^)ノ 这两天心血来潮去跟列表好久不联系的小伙伴...
    清雅文阁阅读 220评论 0 0
  • https://node-serialport.github.io/node-serialport/Abstrac...
    fighterboy阅读 1,026评论 0 0
  • 二宝一岁九个月,基本哭就是自己想做的事情不让做。比如不想出澡盆会哭,想继续在外面玩会哭。我对待她的哭,基本是温和回...
    鱼阿九9阅读 95评论 0 0
  • 随便写点 看了那么多经典的文章,还有那么多坚持训练写作能力的人,羡慕他们文章的感染力和写作功底。那么多鼓舞写作的文...
    善行无痕阅读 149评论 0 0