码迷,mamicode.com
首页 > 编程语言 > 详细

Java图片加水印

时间:2014-12-04 08:50:22      阅读:298      评论:0      收藏:0      [点我收藏+]

标签:java图片加水印

code

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 class WaterMark{
	public static void pressImage(String dst,String src,int x,int y){
		try{
			File f=new File(src);
			Image img=ImageIO.read(f);
			
			int w=img.getWidth(null);
			int h=img.getHeight(null);
			BufferedImage bimg=new BufferedImage(w, h, BufferedImage.TYPE_INT_RGB);
			
			Graphics g=bimg.getGraphics();
			g.drawImage(img, 0, 0, w, h, null);
			
			File f1=new File(dst);
			Image img1=ImageIO.read(f1);
			int w1=img1.getWidth(null);
			int h1=img1.getHeight(null);
			
			g.drawImage(img1, w-w1-x, h-h1-y, w1, h1, null);
			g.dispose();

			FileOutputStream out=new FileOutputStream(dst);
			JPEGImageEncoder encoder=JPEGCodec.createJPEGEncoder(out);
			encoder.encode(bimg);
			out.close();
			
		}catch(Exception e){
			e.printStackTrace();
		}
	}
	
	public static void pressText(String pressText, String targetImg,String fontName,
			int fontStyle,int color,int fontSize,int x,int y){
		try{
			File f=new File(targetImg);
			Image img=ImageIO.read(f);
			int w=img.getWidth(null);
			int h=img.getHeight(null);
			BufferedImage bimg=new BufferedImage(w,h,BufferedImage.TYPE_INT_RGB);
			Graphics g=bimg.getGraphics();
			g.drawImage(img, 0, 0, w, h, null);
			
			g.setFont(new Font(fontName,fontStyle,fontSize));
			g.drawString(pressText, w-fontSize-x, h-fontSize/2-y);
			g.dispose();
			
			FileOutputStream out=new FileOutputStream(targetImg);
			JPEGImageEncoder encoder=JPEGCodec.createJPEGEncoder(out);
			encoder.encode(bimg);
			out.close();
			
		}catch(Exception e){
			e.printStackTrace();
		}
	}
	
	public static void main(String[] args){
		pressImage("1.jpg","2.jpg",200,200);
		pressText("真的好想你","3.jpg","宋体",Font.BOLD,0,20,200,200);
	}
}


Java图片加水印

标签:java图片加水印

原文地址:http://blog.csdn.net/cjc211322/article/details/41719273

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!