java 上传图片 打水印
其实就是在现有的图片上,画东西,也可以直接 贴图片
//添加水印 @Override public File pressFile(File file,String press_path) throws IOException { // TODO Auto-generated method stub File newFile=null; String pressText="TOGO"; String path=file.getPath(); String oldFileName=file.getName(); //目标文件 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); Graphics2D g = image.createGraphics(); g.drawImage(src, 0, 0, wideth, height, null); //水印文件 File pressFile=new File(press_path+"/images/LOGO.png"); Image press_img=ImageIO.read(pressFile); int press_wideth=press_img.getWidth(null); int press_height=press_img.getHeight(null); //添加图片水印 g.drawImage(press_img,wideth-press_wideth,height-press_height,press_wideth,press_height,null); g.drawImage(press_img,(wideth-press_wideth)/2,(height-press_height)/2,press_wideth,press_height,null); g.drawImage(press_img,10,10,press_wideth,press_height,null); //添加文字水印g.setColor(Color.RED);
g.setFont(
new
Font(fontName, fontStyle, fontSize));
g.drawString(pressText, 10, 10);
//添加完成 g.dispose(); //输出保存文件 FileOutputStream out = new FileOutputStream(path); file.delete(); JPEGImageEncoder encoder = JPEGCodec.createJPEGEncoder(out); // JPEGEncodeParam param=encoder.getDefaultJPEGEncodeParam(image); //图片质量 // param.setQuality(1, true); encoder.encode(image); out.close(); return newFile; }