资源描述:
《JAVA给图片添加水印》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、packagecom.nkl.waterMarkTest;importjava.awt.Color;importjava.awt.Font;importjava.awt.Graphics;importjava.awt.Image;importjava.awt.image.BufferedImage;importjava.io.File;importjava.io.FileOutputStream;importjavax.imageio.ImageIO;importcom.sun.image.codec.jpeg.JPEGCodec;importcom.sun.image.codec.
2、jpeg.JPEGImageEncoder;/***本类的作用是给图片添加水印(文字或图片)*可以设置水印的位置,但不可以设置水印的透明度*@author聂昆仑**/publicclassWaterMark{/***把水印印刷到图片上(自定义位置)*@paramoldfile原图片*@paramnewfile生成的新图片*@parampressImg--水印图片*@paramx*@paramy*/publicfinalstaticvoidpressImage(Stringoldfile,Stringnewfile,StringpressImg,intx,inty){try{//绘制目
3、标文件File_file=newFile(oldfile);Imagesrc=ImageIO.read(_file);intwideth=src.getWidth(null);intheight=src.getHeight(null);BufferedImageimage=newBufferedImage(wideth,height,BufferedImage.TYPE_INT_RGB);Graphicsg=image.createGraphics();g.drawImage(src,0,0,wideth,height,null);//绘制水印文件File_filebiao=newF
4、ile(pressImg);Imagesrc_biao=ImageIO.read(_filebiao);//设置水印位置g.drawImage(src_biao,x,y,src_biao.getWidth(null),src_biao.getHeight(null),null);g.dispose();//生成图片FileOutputStreamout=newFileOutputStream(newfile);JPEGImageEncoderencoder=JPEGCodec.createJPEGEncoder(out);encoder.encode(image);out.close
5、();}catch(Exceptione){e.printStackTrace();}}/***把水印印刷到图片上(有固定位置可选)*@paramoldfile原图片*@paramnewfile生成的新图片*@parampressImg--水印图片*@paramposition--水印位置*/publicfinalstaticvoidpressImage(Stringoldfile,Stringnewfile,StringpressImg,intposition){try{//绘制目标文件File_file=newFile(oldfile);Imagesrc=ImageIO.read
6、(_file);intwideth=src.getWidth(null);intheight=src.getHeight(null);BufferedImageimage=newBufferedImage(wideth,height,BufferedImage.TYPE_INT_RGB);Graphicsg=image.createGraphics();g.drawImage(src,0,0,wideth,height,null);//绘制水印文件File_filebiao=newFile(pressImg);Imagesrc_biao=ImageIO.read(_filebiao)
7、;//设置水印位置setPressImgPosition(src,src_biao,g,position);g.dispose();//生成图片FileOutputStreamout=newFileOutputStream(newfile);JPEGImageEncoderencoder=JPEGCodec.createJPEGEncoder(out);encoder.encode(image);out.close();}catch(Exceptione)