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

          java給圖片加水印,文字水印

          Posted on 2007-09-09 13:40 semovy 閱讀(675) 評論(1)  編輯  收藏 所屬分類: JAVA應用
          public final class ImageUtils ...{
              
          public ImageUtils() ...{

              }

              
              
          public final static String getPressImgPath()...{
                  
          return ApplicationContext.getRealPath("/template/data/util/shuiyin.gif");
              }


           
          /** *//**
            * 把圖片印刷到圖片上
            * 
          @param pressImg -- 水印文件
            * 
          @param targetImg  -- 目標文件
            * 
          @param x
            * 
          @param y
            
          */

              
          public final static void pressImage(String pressImg, String targetImg, int x, int y) ...{
                  
          try ...{
                      File _file 
          = new File(targetImg);
                      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, 
          00, wideth, height, null);

                      
          // 水印文件
                      File _filebiao = new File(pressImg);
                      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 
          - wideth_biao - x, height - height_biao -y, wideth_biao,
                              height_biao, 
          null);
                      
          // /
                      g.dispose();
                      FileOutputStream out 
          = new FileOutputStream(targetImg);
                      JPEGImageEncoder encoder 
          = JPEGCodec.createJPEGEncoder(out);
                      encoder.encode(image);
                      out.close();
                  }
           catch (Exception e) ...{
                      e.printStackTrace();
                  }

              }


              
          /** *//**
               * 打印文字水印圖片
               * 
          @param pressText --文字
               * 
          @param targetImg -- 目標圖片
               * 
          @param fontName -- 字體名
               * 
          @param fontStyle -- 字體樣式
               * 
          @param color -- 字體顏色
               * 
          @param fontSize -- 字體大小
               * 
          @param x -- 偏移量
               * 
          @param y
               
          */

               
              
          public static void pressText(String pressText, String targetImg, String fontName,int fontStyle, int color, int fontSize, int x, int y) ...{
                  
          try ...{
                      File _file 
          = new File(targetImg);
                      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, 
          00, wideth, height, null);
                      
          // String s="www.qhd.com.cn";
                      g.setColor(Color.RED);
                      g.setFont(
          new Font(fontName, fontStyle, fontSize));
                   

                      g.drawString(pressText, wideth 
          - fontSize - x, height - fontSize/2 - y);
                      g.dispose();
                      FileOutputStream out 
          = new FileOutputStream(targetImg);
                      JPEGImageEncoder encoder 
          = JPEGCodec.createJPEGEncoder(out);
                      encoder.encode(image);
                      out.close();
                  }
           catch (Exception e) ...{
                      System.out.println(e);
                  }

              }


              
          public static void main(String[] args) ...{
                  pressImage(
          "C:/shuiyin/shuiyin.gif""c:/shuiyin/DSC02342.JPG"20 ,20);
              }

          }
           

          評論

          # re: java給圖片加水印,文字水印 [未登錄]  回復  更多評論   

          2009-03-18 16:19 by lee
          我頂!!!很強悍謝謝
          主站蜘蛛池模板: 西充县| 湖北省| 五大连池市| 建始县| 阿瓦提县| 玛纳斯县| 武义县| 米泉市| 沂南县| 伊川县| 泾阳县| 灌阳县| 阿坝县| 措美县| 康乐县| 海淀区| 门源| 山东省| 亳州市| 无锡市| 鄯善县| 鲜城| 廉江市| 江西省| 泾源县| 武陟县| 台北县| 从化市| 三河市| 岳阳市| 柏乡县| 兰考县| 东宁县| 米易县| 辽宁省| 杭州市| 衡东县| 东兴市| 方城县| 东阿县| 广州市|