• Java图片加文字水印


    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 javax.imageio.ImageIO;
    
    import com.sun.image.codec.jpeg.JPEGCodec;
    import com.sun.image.codec.jpeg.JPEGImageEncoder;
    
    /**
     * 图片加文字水印
     * @author InJavaWeTrust
     *
     */
    public class Watermark {
    	
    	/**
    	 * 图片加文字水印
    	 * @param text 文字
    	 * @param targetImg 目标图片
    	 * @param fontName 字体名
    	 * @param fontStyle 字体样式
    	 * @param color 字体颜色
    	 * @param fontSize 字体大小
    	 * @param x 文字x坐标
    	 * @param y 文字y坐标
    	 */
    	public static void watermark(String text, String targetImg,
    			String fontName, int fontStyle, Color 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, 0, 0, wideth, height, null);
                 
                g.setColor(color);
                g.setFont(new Font(fontName, fontStyle, fontSize));
     
                g.drawString(text, wideth - fontSize - x, height - fontSize
                        / 2 - 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) {
    		String text = "http://injavawetrust.iteye.com";
    		String targetImg = "C:\Users\admin\Desktop\ch\state.png";
    		watermark(text, targetImg, null, Font.BOLD, Color.RED, 20, 240, 10);
    	}
    
    }
  • 相关阅读:
    【LeetCode】204
    【LeetCode】231
    【LeetCode】58
    解决error104 socket error问题
    爬虫问题
    80端口被system占用的问题
    Linux命令行下批量重命名文件名为数字索引编号(0~N.xxx)的方法
    [转]利用excel进行线性规划求解
    python——时间与时间戳之间的转换
    最全中文停用词表整理(1893个)
  • 原文地址:https://www.cnblogs.com/muyuge/p/6152047.html
Copyright © 2020-2023  润新知