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

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

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

    近日在找工作,在看其中的一間面試的公司的網站的時候,看到了一些JAVA圖片處理的一些功能,這家公司主要是做圖像方面的。比如照片合成,個性印章的制作。為了作一些準備,有必要自己動手試了一下實現這些功能。大概原理和在圖片上加水印文字一樣。

    合成圖像:比如制作個性印章。首先需要準備2張圖,1張白色的圖片:bg.jpg,一張是印章的邊框的圖片template.gif,需要處理成透明。(制作這樣風格的圖片,可以使用photoshop的“置換”濾鏡):

     
    template.gif

    程序處理部分是需要把輸入的文字,和選擇的template合成到bg.jpg里,在這里,我硬編碼了輸入文字到程序里,template使用已經準備好了的template.gif,當然,可以有更多的template提供給用戶選擇。bg.jpg是一張90×90的jpg全白色文件。這些我都暫時放在C盤根目錄下。程序處理如下:

    import java.awt.*;
    import java.awt.image.BufferedImage;
    import java.io.FileInputStream;
    import java.io.FileOutputStream;
    import javax.imageio.ImageIO;
    import com.sun.image.codec.jpeg.*;

    public class TestDrawFont {
    public static void main(String[] args) {
    try {
    BufferedImage image = ImageIO.read(new FileInputStream("c:\\bg.jpg"));
    Graphics2D g = image.createGraphics();
    BufferedImage image_template = ImageIO.read(new FileInputStream("c:\\template.gif"));
    g.setColor(Color.red);
    g.setFont(new Font("漢鼎簡中黑",Font.ITALIC + Font.BOLD + Font.LAYOUT_LEFT_TO_RIGHT, 23));//寫入簽名
    g.drawString("帥哥",22, image.getHeight() - 50);
    g.drawString("印章",22, image.getHeight()-30);
    g.drawImage(image_template, 5,image.getHeight() - 85, image_template.getWidth(null),image_template.getHeight(null), null);
    g.dispose();
    FileOutputStream out = new FileOutputStream("c:\\all.jpg");
    JPEGImageEncoder encoder = JPEGCodec.createJPEGEncoder(out);
    encoder.encode(image);
    out.close();
    } catch(Exception e) {
    e.printStackTrace();
    }
    }
    }


    執行后的效果是:



    補充一下:

    Java 2 平臺可以區分兩種字體:物理 字體和邏輯 字體。

    物理 字體是實際的字體庫,包含字形數據和表,這些數據和表使用字體技術(如 TrueType 或 PostScript Type 1)將字符序列映射到字形序列。Java 2 平臺的所有實現都支持 TrueType 字體;對其他字體技術的支持是與實現相關的。物理字體可以使用字體名稱,如 Helvetica、Palatino、HonMincho 或任意數量的其他字體名稱。通常,每種物理字體只支持有限的書寫系統集合,例如,只支持拉丁文字符或只支持日文和基本拉丁文。可用的物理字體集合隨配置的不同而不同。要求特定字體的應用程序可以使用 createFont 方法來捆綁這些字體,并對其進行實例化。



    構造方法摘要
    Font(String name, int style, int size)
              根據指定名稱、樣式和點大小,創建一個新 Font
             


    public abstract void drawString(String s,
                                    float x,
                                    float y)
           

    public abstract void drawImage(BufferedImage img,
                                   BufferedImageOp op,
                                   int x,
                                   int y)


    posted on 2008-06-05 18:17 lzj520 閱讀(281) 評論(0)  編輯  收藏 所屬分類: 個人學習日記java api
    主站蜘蛛池模板: 亚洲精品卡2卡3卡4卡5卡区| 国产亚洲成av片在线观看 | 无码高潮少妇毛多水多水免费| 精品国产亚洲AV麻豆| 亚洲av无码av制服另类专区| 免费欧洲毛片A级视频无风险| 9i9精品国产免费久久| 亚洲欧洲另类春色校园网站| 国产亚洲无线码一区二区| vvvv99日韩精品亚洲| 成人片黄网站A毛片免费| 久久永久免费人妻精品下载 | 亚洲第一区精品观看| 国产精品自在自线免费观看| 一个人在线观看视频免费| 18女人水真多免费高清毛片| 东方aⅴ免费观看久久av| 久久99精品免费一区二区| 黄色网页免费观看| 日韩色日韩视频亚洲网站| 亚洲影院天堂中文av色| 国产 亚洲 中文在线 字幕| 亚洲国产成a人v在线| 亚洲国产精品综合久久网各| 亚洲综合久久成人69| 亚洲日本在线看片| 亚洲伊人tv综合网色| 久久久久亚洲精品美女| 久久亚洲精品人成综合网| 亚洲精品视频观看| 亚洲av无码久久忘忧草| 亚洲精品免费网站| 中文字幕精品三区无码亚洲| 亚洲AV无码一区二区三区牲色 | 一级黄色片免费观看| 日韩免费观看一区| 亚洲成人在线免费观看| 免费乱码中文字幕网站| 亚洲AV永久无码精品水牛影视| 久久久亚洲欧洲日产国码aⅴ| 亚洲欧洲日韩综合|