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); } }
郑重声明:本站内容如果来自互联网及其他传播媒体,其版权均属原媒体及文章作者所有。转载目的在于传递更多信息及用于网络分享,并不代表本站赞同其观点和对其真实性负责,也不构成任何其他建议。