关闭

jsp加图片水印

标签: jspnullimagefileimport
1089人阅读 评论(0) 收藏 举报

这个是加图片水印的! 
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" contentType="text/html;charset=gb2312" 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(); //关闭输出文件流 

%> 

0
0

查看评论
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场
    个人资料
    • 访问:264947次
    • 积分:4156
    • 等级:
    • 排名:第7394名
    • 原创:117篇
    • 转载:92篇
    • 译文:0篇
    • 评论:37条