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


转载于:https://www.cnblogs.com/wyang0126/p/5039939.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值