• JAVA给图片加上水印


    import java.awt.Color;      
    import java.awt.Font;      
    import java.awt.Graphics;      
    import java.awt.Image;      
    import java.awt.image.BufferedImage;      
    import java.io.File;      
    import java.io.FileOutputStream;      
    import com.sun.image.codec.jpeg.JPEGCodec;
    import com.sun.image.codec.jpeg.JPEGImageEncoder;     
    import javax.imageio.ImageIO;      
    /** 
    * 给图片加水印 
    */     
    public final class Main {      
         public Main() {      
            
         }  
         /**    
          * 把图片印刷到图片上    
          *     
          * @param pressImg 
          *            水印文件    
          * @param targetImg    
          *            目标文件    
          * @param x    
          * @param y    
          */     
         public final static void pressImage(String pressImg, String targetImg,      
                 int x, int y) {      
             try {      
                 File _file = new File(targetImg);      
                 Image src = ImageIO.read(_file);      
                 int wideth = src.getWidth(null);      
                 int height = src.getHeight(null);      
                 BufferedImage image = new BufferedImage(wideth, height,      
                         BufferedImage.TYPE_INT_RGB);      
                 Graphics g = image.createGraphics();      
                 g.drawImage(src, 00, wideth, height, null);      
            
                 // 水印文件      
                 File _filebiao = new File(pressImg);      
                 Image src_biao = ImageIO.read(_filebiao);      
                 int wideth_biao = src_biao.getWidth(null);      
                 int height_biao = src_biao.getHeight(null);      
                 g.drawImage(src_biao, wideth - wideth_biao - x, height      
                         - height_biao - y, wideth_biao, height_biao, null);      
                 g.dispose();      
                 FileOutputStream out = new FileOutputStream(targetImg);      
                 JPEGImageEncoder encoder = JPEGCodec.createJPEGEncoder(out);      
                 encoder.encode(image);      
                 out.close();      
             catch (Exception e) {      
                 e.printStackTrace();      
             }      
         }      
            
         /**    
          * 打印文字水印图片    
          *     
          * @param pressText    
          *             --文字    
          * @param targetImg  
          *             --目标图片    
          * @param fontName  
          *             --字体名    
          * @param fontStyle  
          *             --字体样式    
          * @param color     
          *             --字体颜色    
          * @param fontSize     
          *             --字体大小    
          * @param x     
          *             --X偏移量    
          * @param y 
          *             --Y偏移量    
          */     
            
         public static void pressText(String pressText, String targetImg,      
                 String fontName, int fontStyle, int color, int fontSize, int x,      
                 int y) {      
             try {      
                 File _file = new File(targetImg);      
                 Image src = ImageIO.read(_file);      
                 int wideth = src.getWidth(null);      
                 int height = src.getHeight(null);      
                 BufferedImage image = new BufferedImage(wideth, height,      
                         BufferedImage.TYPE_INT_RGB);      
                 Graphics g = image.createGraphics();      
                 g.drawImage(src, 00, wideth, height, null);      
                 g.setColor(Color.RED);      
                 g.setFont(new Font(fontName, fontStyle, fontSize));      
            
                 g.drawString(pressText,fontSize+x,fontSize      
                          +y);      
                 g.dispose();      
                 FileOutputStream out = new FileOutputStream(targetImg);      
                 JPEGImageEncoder encoder = JPEGCodec.createJPEGEncoder(out);      
                 encoder.encode(image);      
                 out.close();      
             catch (Exception e) {      
                 System.out.println(e);      
             }      
         }      
            
         public static void main(String[] args) {      
             pressImage("f:/1.jpg""f:/2.jpg"2020);      
             pressText("Java教程网""f:/1.jpg","宋体",10,10,100,5050);  
         }      
  • 相关阅读:
    浅谈Java 8的新特性和使用场景
    Oracle下通过EXPDP导出某用户下的所有表,实例
    官网下载I.MX6参考手册
    TFTP服务开启
    二、 U-Boot 命令使用
    CP15协处理器
    Linux内核配置Kconfig语法
    M.2接口是如何辨别插入的SSD是SATA协议还是NVME协议?
    SSH 服务开启
    一 、 UBOOT简介
  • 原文地址:https://www.cnblogs.com/wuxiang/p/4466945.html
Copyright © 2020-2023  润新知