<rt id="bn8ez"></rt>
<label id="bn8ez"></label>

  • <span id="bn8ez"></span>

    <label id="bn8ez"><meter id="bn8ez"></meter></label>

    巷尾的酒吧

      BlogJava :: 首頁 :: 聯(lián)系 :: 聚合  :: 管理
      64 Posts :: 0 Stories :: 5 Comments :: 0 Trackbacks

    package writeimg;
    import javax.imageio.ImageIO;
    import java.awt.Color;
    import java.awt.Font;
    import java.awt.Graphics2D;
    import java.awt.image.BufferedImage;
    import java.io.File;
    import java.io.IOException;
    import java.net.URL;


    public class pic {

     private Font font = new Font("華文彩云", Font.PLAIN, 40);// 添加字體的屬性設置

     private Graphics2D g = null;

     private int fontsize = 0;

     private int x = 0;

     private int y = 0;

     /**
      * 導入本地圖片到緩沖區(qū)
      */
     public BufferedImage loadImageLocal(String imgName) {
      try {
       return ImageIO.read(new File(imgName));
      } catch (IOException e) {
       System.out.println(e.getMessage());
      }
      return null;
     }

     /**
      * 導入網絡圖片到緩沖區(qū)
      */
     public BufferedImage loadImageUrl(String imgName) {
      try {
       URL url = new URL(imgName);
       return ImageIO.read(url);
      } catch (IOException e) {
       System.out.println(e.getMessage());
      }
      return null;
     }

     /**
      * 生成新圖片到本地
      */
     public void writeImageLocal(String newImage, BufferedImage img) {
      if (newImage != null && img != null) {
       try {
        File outputfile = new File(newImage);
        ImageIO.write(img, "jpg", outputfile);
       } catch (IOException e) {
        System.out.println(e.getMessage());
       }
      }
     }

     /**
      * 設定文字的字體等
      */
     public void setFont(String fontStyle, int fontSize) {
      this.fontsize = fontSize;
      this.font = new Font(fontStyle, Font.PLAIN, fontSize);
     }

     /**
      * 修改圖片,返回修改后的圖片緩沖區(qū)(只輸出一行文本)
      */
     public BufferedImage modifyImage(BufferedImage img, Object content, int x,
       int y) {

      try {
       int w = img.getWidth();
       int h = img.getHeight();
       g = img.createGraphics();
       g.setBackground(Color.WHITE);
       g.setColor(Color.orange);//設置字體顏色
       if (this.font != null)
        g.setFont(this.font);
       // 驗證輸出位置的縱坐標和橫坐標
       if (x >= h || y >= w) {
        this.x = h - this.fontsize + 2;
        this.y = w;
       } else {
        this.x = x;
        this.y = y;
       }
       if (content != null) {
        g.drawString(content.toString(), this.x, this.y);
       }
       g.dispose();
      } catch (Exception e) {
       System.out.println(e.getMessage());
      }

      return img;
     }

     /**
      * 修改圖片,返回修改后的圖片緩沖區(qū)(輸出多個文本段) xory:true表示將內容在一行中輸出;false表示將內容多行輸出
      */
     public BufferedImage modifyImage(BufferedImage img, Object[] contentArr,
       int x, int y, boolean xory) {
      try {
       int w = img.getWidth();
       int h = img.getHeight();
       g = img.createGraphics();
       g.setBackground(Color.WHITE);
       g.setColor(Color.RED);
       if (this.font != null)
        g.setFont(this.font);
       // 驗證輸出位置的縱坐標和橫坐標
       if (x >= h || y >= w) {
        this.x = h - this.fontsize + 2;
        this.y = w;
       } else {
        this.x = x;
        this.y = y;
       }
       if (contentArr != null) {
        int arrlen = contentArr.length;
        if (xory) {
         for (int i = 0; i < arrlen; i++) {
          g.drawString(contentArr[i].toString(), this.x, this.y);
          this.x += contentArr[i].toString().length()
            * this.fontsize / 2 + 5;// 重新計算文本輸出位置
         }
        } else {
         for (int i = 0; i < arrlen; i++) {
          g.drawString(contentArr[i].toString(), this.x, this.y);
          this.y += this.fontsize + 2;// 重新計算文本輸出位置
         }
        }
       }
       g.dispose();
      } catch (Exception e) {
       System.out.println(e.getMessage());
      }

      return img;
     }

     /**
      * 修改圖片,返回修改后的圖片緩沖區(qū)(只輸出一行文本)
      *
      * 時間:2007-10-8
      *
      * @param img
      * @return
      */
     public BufferedImage modifyImageYe(BufferedImage img) {

      try {
       int w = img.getWidth();
       int h = img.getHeight();
       g = img.createGraphics();
       g.setBackground(Color.WHITE);
       g.setColor(Color.blue);//設置字體顏色
       if (this.font != null)
        g.setFont(this.font);
       g.drawString("   g.dispose();
      } catch (Exception e) {
       System.out.println(e.getMessage());
      }

      return img;
     }

     public BufferedImage modifyImagetogeter(BufferedImage b, BufferedImage d) {

      try {
       int w = b.getWidth();
       int h = b.getHeight();
       

       g = d.createGraphics();
       g.drawImage(b, 100, 10, w, h, null);
       g.dispose();
      } catch (Exception e) {
       System.out.println(e.getMessage());
      }

      return d;
     }

     public static void main(String[] args) {

      pic tt = new pic();

      BufferedImage d = tt.loadImageLocal("D:\\11.jpg");
    //  BufferedImage b = tt
    //    .loadImageLocal("E:\\文件(word,excel,pdf,ppt.txt)\\zte-logo.png");
       tt.writeImageLocal("D:\\cc.jpg",tt.modifyImage(d,"曹原",90,90)
      //往圖片上寫文件
       );

      //tt.writeImageLocal("D:\\cc.jpg", tt.modifyImagetogeter(b, d));
      //將多張圖片合在一起
      System.out.println("success");
     }

    }







    http://blog.csdn.net/caoyuan10036/article/details/7278735
    posted on 2013-06-04 20:54 abing 閱讀(936) 評論(0)  編輯  收藏 所屬分類: eclipse

    只有注冊用戶登錄后才能發(fā)表評論。


    網站導航:
    博客園   IT新聞   Chat2DB   C++博客   博問  
     
    主站蜘蛛池模板: 2017亚洲男人天堂一| 亚洲午夜精品一区二区| 亚洲日韩AV无码一区二区三区人| 亚洲视频在线免费观看| 亚洲AV无码专区在线播放中文| 一级做a爱过程免费视| 亚洲精品国自产拍在线观看| 黄色网址免费在线| 亚洲一区二区三区无码影院| 一个人看的免费视频www在线高清动漫 | 亚洲精品无码少妇30P| 成人人免费夜夜视频观看| 亚洲AV成人片无码网站| 亚洲第一永久AV网站久久精品男人的天堂AV| 偷自拍亚洲视频在线观看| 亚洲国产日韩在线观频| a级毛片免费在线观看| 亚洲国产精品一区二区久久| 2020久久精品国产免费| 亚洲精品女同中文字幕| 亚洲欧洲日本在线| 免费看男人j放进女人j免费看| 在线观看亚洲人成网站| 免费无码AV电影在线观看| 老牛精品亚洲成av人片| 国产亚洲人成网站在线观看不卡| 免费无码成人AV在线播放不卡| 亚洲中文字幕久在线| xvideos亚洲永久网址| a毛片免费观看完整| 亚洲国产成人资源在线软件| 免费人成网站7777视频| 精品视频在线免费观看| 最新国产精品亚洲| 亚洲伊人久久大香线蕉综合图片| 中文字幕在线观看免费视频| 天天综合亚洲色在线精品| 久久精品亚洲综合一品| 国产精品色午夜免费视频| 午夜免费啪视频在线观看| 亚洲欧美日韩综合久久久久|