zoukankan      html  css  js  c++  java
  • java:给图片上加水印

    import java.awt.Color;
    import java.awt.Graphics2D;
    import java.awt.Image;
    import java.awt.image.BufferedImage;
    import java.io.FileOutputStream;
    
    import javax.swing.ImageIcon;
    
    import com.sun.image.codec.jpeg.JPEGCodec;
    import com.sun.image.codec.jpeg.JPEGEncodeParam;
    import com.sun.image.codec.jpeg.JPEGImageEncoder;
    
    public class WaterMark {
         /**
          * 给图片添加水印
          * 
          * @param filePath
          *             需要添加水印的图片的路径
          * @param markContent
          *             水印的文字
          * @param markContentColor
          *             水印文字的颜色
          * @param qualNum
          *             图片质量
          * @return
          */
         public void createMark(String filePath, String markContent,
                 Color markContentColor, float qualNum) {
            
             ImageIcon imgIcon = new ImageIcon(filePath);
             Image theImg = imgIcon.getImage();
             int width = theImg.getWidth(null);
             int height = theImg.getHeight(null);
             BufferedImage bimage = new BufferedImage(width, height,BufferedImage.TYPE_INT_RGB);
            
             Graphics2D g = bimage.createGraphics();
             g.setColor(markContentColor);
             g.setBackground(Color.white);
             g.drawImage(theImg, 0, 0, null);
             g.drawString(markContent, width / 3, height / 2); // 添加水印的文字和设置水印文字出现的内容
             g.dispose();
            
             try {
                 FileOutputStream out = new FileOutputStream(filePath);
                 JPEGImageEncoder encoder = JPEGCodec.createJPEGEncoder(out);
                 JPEGEncodeParam param = encoder.getDefaultJPEGEncodeParam(bimage);
                 param.setQuality(qualNum, true);
                 encoder.encode(bimage, param);
                 out.close();
                
             } catch (Exception e) {
                 return ;
             }
         }
        
         public static void main(String[] args) {
             WaterMark wm = new WaterMark();
            
             wm.createMark("d://map.jpg","http://www.90che.com",Color.WHITE,70f);
         }
    }

    2007-09-11

  • 相关阅读:
    6.Docker中上传镜像到docker hub中
    altermanager使用报错
    Grafana官方和社区提供的dashboard
    什么是 云原生?
    prometheus被OOM杀死
    新版GRANAFA K8S插件 K8S NODE 图表不显示问题解决方法
    python2和python3的不同
    一次使用Python连接数据库生成二维码并安装为windows服务的工作任务
    Python连接oracle
    numpy.ndarray的赋值操作
  • 原文地址:https://www.cnblogs.com/personnel/p/4582904.html
Copyright © 2011-2022 走看看