我用的是eWebEditor在线文本编辑器飞鱼修改版(jsp) ,我想添加一下水印功能,请大家指点一下怎么加!
谢谢!

解决方案 »

  1.   

    java水印组件和jspsmart组件的综合使用
    要改写webedit的上传文件用百度搜ImageOperate
    ImageOperate18.java
    package com.image;
    import java.awt.*;
    import java.awt.image.*;
    import javax.imageio.ImageIO.*;
    import java.io.*;
    import com.sun.image.codec.jpeg.JPEGCodec;  
    import com.sun.image.codec.jpeg.JPEGImageEncoder;  public class ImageOperate18 { 
        Image img1;
        String message = "";
        String filePath = ""; //程序本身所在的根目录, 绝对路径。
        String waterImg1 = "", waterImg2=""; //水印图片文件名
        String waterPath = ""; //水印图片所在路径,绝对路径
        String str = new String("www.baidu.cn");
        public void waterImage(String oldFile, String newFile){
            /* oldFile加水印前的文件名.
             * newFile加水印后的文件名。
             */
             try{
                File myFile = new File(filePath + oldFile); //指定文件名含路径
                Image src = javax.imageio.ImageIO.read(myFile); //构造Image对象 
                int w=src.getWidth(null); //得到源图宽  
                int h=src.getHeight(null); //得到源图长
                Graphics gim = src.getGraphics();
                BufferedImage tag = new BufferedImage(w,h,BufferedImage.TYPE_INT_RGB);  
                tag.getGraphics().drawImage(src,0,0,w,h,null);
                if(!waterImg1.equals("") && waterImg2.equals("")){
                    Image img1 = javax.imageio.ImageIO.read(new File(waterPath+waterImg1));//构造Image对象 
                    int w1 = img1.getWidth(null); //得到源图宽  
                    int h1 = img1.getHeight(null); //得到源图长
                    tag.getGraphics().drawImage(img1,w-w1-12,h-30,w1,h1,null);
                }
                if(!waterImg1.equals("") && !waterImg2.equals("")){
                    Image img1 = javax.imageio.ImageIO.read(new File(waterPath+waterImg1));//构造Image对象 
                    int w1 = img1.getWidth(null); //得到源图宽  
                    int h1 = img1.getHeight(null); //得到源图长
                    Image img2 = javax.imageio.ImageIO.read(new File(waterPath+waterImg2));//构造Image对象 
                        int w2 = img2.getWidth(null); //得到源图宽  
                        int h2 = img2.getHeight(null); //得到源图长       
                        tag.getGraphics().drawImage(img2,w-w2-12,h-30,w2,h2,null);
                        tag.getGraphics().drawImage(img1,w-w1-w2-15,h-32,w1,h1,null);
                }
                FileOutputStream out=new FileOutputStream(filePath + newFile); //输出到文件流  
                JPEGImageEncoder encoder = JPEGCodec.createJPEGEncoder(out);   
                encoder.encode(tag); //JPEG编码 
                gim.dispose();
                out.close();      
             }catch(Exception e){
                 message = waterPath + e.toString() + filePath;
             }    
        }
        public void writeImage(String oldFile, String newFile){        //设置字体
            try{
                File myFile = new File(filePath + oldFile); //指定文件名含路径
                Image src = javax.imageio.ImageIO.read(myFile); //构造Image对象 
                int w=src.getWidth(null); //得到源图宽  
                int h=src.getHeight(null); //得到源图长
                //在你创立的image上写字
                Graphics gim = src.getGraphics();
                Font font = new Font("Tahoma", Font.BOLD, 18);
                gim.setFont(font);            
                gim.setColor(Color.black);
                gim.drawString(str, w-(str.length()*10-3), h-5);
                gim.setColor(Color.lightGray);
                gim.drawString(str, w-(str.length()*10-2), h-6);
                BufferedImage tag = new BufferedImage(w,h,BufferedImage.TYPE_INT_RGB);  
                tag.getGraphics().drawImage(src,0,0,w,h,null);
                FileOutputStream out=new FileOutputStream(filePath + newFile); //输出到文件流  
                JPEGImageEncoder encoder = JPEGCodec.createJPEGEncoder(out);   
                encoder.encode(tag); //JPEG编码 
                gim.dispose();
                out.close();  
            }catch(Exception e){
                message = e.toString();
            }
        } 
        public String getMessage(){
            return this.message;
        }
        public void setFilePath(String filePath){
            if(filePath!=null){
                this.filePath = filePath;
            }else{
                this.filePath = "";
            }
        }
        public void setStr(String str){
            if(str!=null){
                this.str = str;
            }else{
                this.str = "www.baidu.cn";
            }
        }
        public void setWaterImg1(String str){
            if(str!=null){
                this.waterImg1 = str;
            }else{
                this.waterImg1 = "";
            }
        }
        public void setWaterImg2(String str){
            if(str!=null){
                this.waterImg2 = str;
            }else{
                this.waterImg2 = "";
            }
        }  
        public void setWaterPath(String str){
            if(str!=null){
                this.waterPath = str;
            }else{
                this.waterPath = "";
            }
        } 
    }使用时加入bean<jsp:useBean id="mySmartUpload" scope="page" class="com.jspsmart.upload.SmartUpload" />
    <jsp:useBean  id="imageWrite18" scope="page" class="com.image.ImageOperate18"/>