`
xudongcsharp
  • 浏览: 470515 次
  • 性别: Icon_minigender_1
  • 来自: 上海
社区版块
存档分类
最新评论

java 图片加水印

    博客分类:
  • Java
 
阅读更多
 /**
     * 打印文字水印图片
     * @param pressText --文字
     * @param targetImg -- 目标图片
     * @param fontName -- 字体名
     * @param fontStyle -- 字体样式
     * @param color -- 字体颜色
     * @param fontSize -- 字体大小
     * @param x -- 偏移量
     * @param 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, 0, 0, wideth, height, null);
            // String s="www.***.com.cn";
            g.setColor(Color.BLUE);
            g.setFont(new Font(fontName, fontStyle, fontSize));
         

            g.drawString(pressText, 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);
        }
    }
	
	/**
	  * 把图片印刷到图片上
	  * @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, 0, 0, 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();
	        }
	    }
public static void main(String[] args) {
		pressText("版权所有","c:/test.jpg", "heavy", Font.BOLD, 3, 30, 120, 20);
pressImage("C:/shuiyin/shuiyin.gif", "c:/shuiyin/DSC02342.JPG", 20 ,20);
	}




原文出自http://blog.csdn.net/gooogledev/article/details/1611254
分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics