posts - 12, comments - 19, trackbacks - 0, articles - 23
            BlogJava :: 首頁 :: 新隨筆 :: 聯系 :: 聚合  :: 管理

          如何給圖片加水印(轉載)

          Posted on 2006-09-29 11:14 毛里求斯的化石 閱讀(1231) 評論(0)  編輯  收藏 所屬分類: java&js相關

          我是結合在jspsmart.upload下使用的,這個是imgbean的代碼
          package com.dcampus;

          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-110,wideth_biao,height_biao,null);
          //水印文件在原圖片文件的位置,原圖片文件的右下角為wideth-0,height-0
          ?g.dispose();
          FileOutputStream out=new FileOutputStream(ImgName);
          JPEGImageEncoder encoder = JPEGCodec.createJPEGEncoder(out);
          encoder.encode(image);
          out.close();
          }
          catch(Exception e){
          System.out.println(e);
          }
          }
          }
          以下是修改過的smartupload代碼
          <%@ page language="java" import="com.jspsmart.upload.*" import="java.util.*,java.text.*"%>
          <%@ page contentType="text/html;charset=GBK" %>

          <jsp:useBean id="mySmartUpload" scope="page" class="com.jspsmart.upload.SmartUpload"/>

          <HTML><META http-equiv=Content-Type content="text/html; charset=gb2312">
          <LINK href="images/css.css" rel=stylesheet>
          <BODY BGCOLOR="white" leftmargin="0" topmargin="0">
          <%
          ?
          ?int count=0;??????
          ?String path=request.getRealPath("");
          ?mySmartUpload.initialize(pageContext);

          ?mySmartUpload.upload();

          ?connectToDatabase();
          ?for (int i=0;i<mySmartUpload.getFiles().getCount();i++){

          ??com.jspsmart.upload.File myFile = mySmartUpload.getFiles().getFile(i);

          ??if (!myFile.isMissing()) {
          ???int Size=myFile.getSize() ;
          ???String FileName=myFile.getFileName();
          ???String FileExt=myFile.getFileExt();
          ???String uploadtime=new java.text.SimpleDateFormat("yyyy-MM-dd HH:mm:ss").format( java.util.Calendar.getInstance().getTime() );
          ???if(Size>=1000000) {
          ????out.println("文件超過1000K!"); //限制大小
          ???}else{
          ????if((FileExt.equals("jpg")) || (FileExt.equals("JPG")) || (FileExt.equals("gif")) || (FileExt.equals("GIF"))) {
          ?????java.util.Date date = new java.util.Date();
          ?????SimpleDateFormat formatter1 = new SimpleDateFormat("yyyyMMddHHmmss");
          ??????????? ????String name1=FileName.substring(0,FileName.indexOf("."));
          ??????????? ????String name2=FileName.substring(FileName.indexOf("."),FileName.length());
          ??????????? ????String newname=name1+formatter1.format(date)+name2;
          ?????//session.putValue("path1",newname);
          ?????myFile.saveAs("/photo/upfile/" + newname);
          ?????if(Integer.parseInt(sy)==1) {
          ??????com.pic.ImgBean_i bbb= new com.pic.ImgBean_i();
          ??????bbb.ImgYin(path+"/photo/images/shuiyin.gif",path+"/photo/upfile/" + newname);//這里是水印文件的來源地址,可修改成取得下拉菜單值的形式,這樣就可以實現打文字水印或者圖片水印了
          ?????}
          ?????stmt.executeUpdate("insert into img_photo (name,http,userid,classid,title,content,imgsize,format,num,primflag,posttime) values ()");
          ?????out.println(("<br><br><center>圖片上傳成功!<br>").toString());
          ????}else{
          ?????out.println("文件格式不對!");
          ????}
          ???}
          ???count ++;
          ??}
          ???else
          ??{
          ???out.println("未找到上傳文件!\n");
          ??}
          ?}
          ?disConnectToDatabase();
          %>
          </BODY>
          </HTML>

          主站蜘蛛池模板: 日土县| 库车县| 赤峰市| 抚顺市| 涪陵区| 伊春市| 溆浦县| 噶尔县| 石河子市| 界首市| 平湖市| 巧家县| 贡觉县| 伊通| 曲麻莱县| 台南市| 江城| 南川市| 桦川县| 勐海县| 峡江县| 大厂| 东乡县| 望都县| 揭东县| 昌平区| 车致| 舟山市| 宁明县| 基隆市| 伊金霍洛旗| 金山区| 天等县| 本溪市| 扎鲁特旗| 封丘县| 临邑县| 乳山市| 宁化县| 永春县| 和龙市|