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

          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
          我頂!!!很強悍謝謝
          主站蜘蛛池模板: 揭东县| 嫩江县| 沂源县| 长丰县| 保定市| 宿松县| 大安市| 本溪市| 潜山县| 道真| 揭东县| 那坡县| 维西| 汤阴县| 昌黎县| 南雄市| 怀柔区| 河南省| 微博| 遂溪县| 商洛市| 枣强县| 绩溪县| 三亚市| 清涧县| 肥乡县| 睢宁县| 吴江市| 莒南县| 连山| 久治县| 夏河县| 藁城市| 谢通门县| 上杭县| 高碑店市| 绥德县| 玉林市| 沂源县| 务川| 唐河县|