首页 > 代码库 > Java图片加水印
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图片加水印
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。