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

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

          Posted on 2007-09-09 13:40 semovy 閱讀(669) 評論(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
          我頂!!!很強悍謝謝
          主站蜘蛛池模板: 临清市| 福泉市| 定西市| 清徐县| 高安市| 年辖:市辖区| 大余县| 宁阳县| 政和县| 内黄县| 兰西县| 昆山市| 讷河市| 伊吾县| 大足县| 扎鲁特旗| 恩施市| 赣榆县| 阿克陶县| 阳西县| 二连浩特市| 永寿县| 衡南县| 新和县| 江阴市| 确山县| 高平市| 九江县| 清镇市| 南投市| SHOW| 家居| 汾西县| 皋兰县| 饶河县| 山阴县| 昌江| 武功县| 澄迈县| 正阳县| 敦化市|