Java图片加水印

来源:互联网 发布:结伴旅游软件 编辑:程序博客网 时间:2024/04/27 21:55

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);}}


0 0