sunfruit[請?jiān)L問http://www.fruitres.cn]

          --我相信JAVA能走得更遠(yuǎn) QQ:316228067

          導(dǎo)航

          <2006年2月>
          2930311234
          567891011
          12131415161718
          19202122232425
          2627281234
          567891011

          統(tǒng)計(jì)

          公告

          個(gè)人寫的作品會盡量附上代碼,大家使用發(fā)現(xiàn)問題就指出,交流第一嘛  QQ:316228067

          常用鏈接

          留言簿(13)

          隨筆分類(121)

          隨筆檔案(105)

          搜索

          最新評論

          閱讀排行榜

          評論排行榜

          [原創(chuàng)]JAVA中圖片上疊加文字的方法

              --sunfruit
              
              JDK:1.3.x以上
              功能:下面是一個(gè)簡單在圖片上面疊加文字的方法,有朋友如果有這方面的問題,就起個(gè)了解的作用

              代碼如下:

          import java.io.IOException;
          import javax.imageio.ImageIO;
          import java.io.File;
          import java.awt.Font;
          import java.awt.Graphics2D;
          import java.awt.Color;
          import java.awt.image.BufferedImage;
          import java.util.Random;

          /**
           * <p>Title: 圖片疊加文字類</p>
           * <p>Description: </p>
           * <p>Copyright: Copyright (c) 2005</p>
           * <p>Company: </p>
           * @author sunfruit
           * @version 1.0
           */
          public class ImageAddWord {
              Random random=new Random(System.currentTimeMillis());
             
              BufferedImage buffImage=null;

              Graphics2D g=null;

              public ImageAddWord(int width, int height) {
                  buffImage=new BufferedImage(width,height,BufferedImage.TYPE_INT_RGB);
              }

              public ImageAddWord()
              {
                  this(32,32);
              }
             
              /**
               * 圖片生成方法,如果需要在已有的圖片疊加文字,需要先調(diào)用g.drawImage方法將圖片繪制,再將文字繪制
               * @param str String 文字內(nèi)容
               * @param ext String 文件后綴名 png或是jpg
               */
              public void drawWord(String str,String ext)
              {
                  g=buffImage.createGraphics();
                  /**
                   如果要在已有的圖片疊加文字,這里調(diào)用g.drawImage()該方法,繪制圖片,酌情去掉下面的方法
                   */
                  g.setColor(Color.WHITE);//在已有的圖片疊加文字時(shí) 該方法酌情添加
                  g.fillRect(0, 0, buffImage.getWidth(), buffImage.getHeight());//在已有的圖片疊加文字時(shí) 該方法酌情添加
                  g.setColor(Color.BLACK);//設(shè)定文字顏色
                  g.drawString(str,0,12);

                  String filepath=System.getProperty("java.io.tmpdir") +random.nextInt(99999)+"." + ext;
                  try {
                      ImageIO.write(buffImage, ext,
                                    new File(filepath));
                      System.out.println("文件已經(jīng)生成,路經(jīng)為"+filepath);
                  } catch (IOException ex) {
                      ex.printStackTrace();
                  }
              }

              public void setFont(Font font)
              {
                  g.setFont(font);
              }

              public static void main(String[] args) {
                  ImageAddWord imageAddWord=new ImageAddWord(132,16);
                  String str="A B C";
                  imageAddWord.drawWord(str,"png");

              }

          }

          posted on 2006-02-20 13:36 sunfruit 閱讀(3812) 評論(0)  編輯  收藏 所屬分類: JAVA SE & EE

          主站蜘蛛池模板: 海阳市| 民丰县| 云龙县| 常德市| 定安县| 洪泽县| 奎屯市| 韶关市| 青海省| 磴口县| 华安县| 仁寿县| 辛集市| 涞源县| 建湖县| 公主岭市| 龙山县| 黄冈市| 张家界市| 临邑县| 普宁市| 新蔡县| 溧水县| 澜沧| 县级市| 大冶市| 黑龙江省| 屏东县| 荆州市| 兰坪| 石门县| 博客| 醴陵市| 丹凤县| 灯塔市| 石棉县| 门头沟区| 凤台县| 临邑县| 项城市| 陆川县|