jsp,java加图片水印,文字水印

来源:互联网 发布:nmea0183协议解析源码 编辑:程序博客网 时间:2024/04/28 21:11

这个是加图片水印的!
package com.pic;

import java.awt.*;
import java.awt.event.*;
import java.io.*;
import java.awt.image.*;
import org.w3c.dom.*;
import com.sun.image.codec.jpeg.*;
import javax.imageio.*;

public class ImgBean_i{
public void ImgBean_i(){

}

public void ImgYin(String Imagename_biao,String ImgName){
try{
File _file = new File(ImgName);
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);
Graphics g=image.createGraphics();
g.drawImage(src,0,0,wideth,height,null);

//水印文件
File _filebiao = new File(Imagename_biao);
Image src_biao = ImageIO.read(_filebiao);
int wideth_biao=src_biao.getWidth(null);
int height_biao=src_biao.getHeight(null);
g.drawImage(src_biao,wideth-110,height-30,wideth_biao,height_biao,null);
///
g.dispose();
FileOutputStream out=new FileOutputStream(ImgName);
JPEGImageEncoder encoder = JPEGCodec.createJPEGEncoder(out);
encoder.encode(image);
out.close();
}
catch(Exception e){
System.out.println(e);
}
}
}


///////////// 这个是加文字水印的
package com.pic;

import java.awt.*;
import java.awt.event.*;
import java.io.*;
import java.awt.image.*;
import org.w3c.dom.*;
import com.sun.image.codec.jpeg.*;
import javax.imageio.*;

public class ImgBean{
public void ImgBean(){}
public void ImgYin(String s,String ImgName){
try{
File _file = new File(ImgName);
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);
Graphics g=image.createGraphics();
g.drawImage(src,0,0,wideth,height,null);
//String s="www.qhd.com.cn";
g.setColor(Color.RED);
g.setFont(new Font("宋体",Font.PLAIN,20));
Font aa=new Font("宋体",Font.PLAIN,20);

g.drawString(s,wideth-150,height-10);
g.dispose();
FileOutputStream out=new FileOutputStream(ImgName);
JPEGImageEncoder encoder = JPEGCodec.createJPEGEncoder(out);
encoder.encode(image);
out.close();
}
catch(Exception e){
System.out.println(e);
}
}
}
用jsp实现JPG图片水印
<%@ page autoFlush="false" c import="java.io.FileInputStream,java.io.FileOutputStream,java.awt.*,java.awt.image.*,com.sun.image.codec.jpeg.*,java.util.*"%>
<%
out.clear();
response.addHeader("pragma","NO-cache");
response.addHeader("Cache-Control","no-cache");
response.addDateHeader("Expries",0);
String FileName = 源图片路径;
String OutFileName = 生成的新图片路径;
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); //向BufferedImage写入文本字符
g.dispose(); //使更改生效
FileOutputStream outi = new FileOutputStream(OutFileName); //创建输出文件流
JPEGImageEncoder encodera = JPEGCodec.createJPEGEncoder(outi); //创建JPEG编码对象
encodera.encode(image); //对这个BufferedImage (image)进行JPEG编码
outi.close(); //关闭输出文件流
}
%>

 

原创粉丝点击