JAVA技术实现上传图片水印效果

//以下为jsp代码,注释比较齐全

<%@ page autoFlush="false" contentType="text/html;charset=gb2312" import="java.io.FileInputStream,java.io.FileOutputStream,java.awt.*,java.awt.image.*,com.sun.image.codec.jpeg.*"%>
<%
  out.clear();

  response.addHeader("pragma","NO-cache");
  response.addHeader("Cache-Control","no-cache");
  response.addDateHeader("Expries",0);
 
  String FileName = "C://money.jpg";  //in
  String OutFileName = "D://money.jpg";  //out
 
  FileInputStream sFile = new FileInputStream(FileName); //创建一个FileInputStream对象从源图片获取数据流
  Image src = javax.imageio.ImageIO.read(sFile); //创建一个Image对象并以源图片数据流填充
 
  int width = src.getWidth(null); //得到源图宽
  int height = src.getHeight(null); //得到源图长
 
  if (width>70&&height>30){
  
   BufferedImage image = new BufferedImage(width, height, BufferedImage.TYPE_INT_RGB); //创建一个BufferedImage来作为图像操作容器   

   Graphics g = image.getGraphics(); //创建一个绘图环境来进行绘制图象   
   g.drawImage(src,0,0,width,height,null); //将原图像数据流载入这个BufferedImage
   g.setFont(new Font("Times New Roman",Font.PLAIN,12)); //设定文本字体
   String rand = "NetBuilder";
   g.setColor(Color.black); //设定文本颜色
   g.drawString(rand,width-55,height-5); //向BufferedImage写入文本字符
   g.dispose(); //使更改生效
  
   FileOutputStream outi = new FileOutputStream(OutFileName); //创建输出文件流
   JPEGImageEncoder encodera = JPEGCodec.createJPEGEncoder(outi); //创建JPEG编码对象
   encodera.encode(image); //对这个BufferedImage (image)进行JPEG编码
  
   outi.close(); //关闭输出文件流
  }
%>

//以上代码于2006.6.2 在eclipse与tomcat5.0 & jdk1.5.0下调试通过

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值