<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
    主站蜘蛛池模板: 亚洲视频免费在线播放| 国产日韩一区二区三免费高清| 日本免费一区二区在线观看| 亚洲成AV人片在线播放无码| 两性色午夜视频免费网| 美腿丝袜亚洲综合| 一个人看的免费高清视频日本| 亚洲国产精品一区二区第一页免 | 九九视频高清视频免费观看| 国产传媒在线观看视频免费观看 | 国产男女爽爽爽爽爽免费视频| 在线观看亚洲人成网站| 日本免费网站视频www区| 亚洲成A∨人片在线观看无码| AV无码免费永久在线观看| 亚洲丰满熟女一区二区v| 搡女人免费视频大全| 亚洲暴爽av人人爽日日碰| 国产精品美女自在线观看免费| 亚洲av成本人无码网站| 亚洲女人被黑人巨大进入| 久久久久久av无码免费看大片| 亚洲中文字幕成人在线| 日本免费电影一区二区| 久久精品国产亚洲AV蜜臀色欲| 思思99re66在线精品免费观看| 国产一区二区三区亚洲综合| 亚洲国产午夜福利在线播放| 久久er国产精品免费观看2| 亚洲人和日本人jizz| 亚洲一区二区三区国产精品| 222www免费视频| 亚洲欧美日韩中文二区| 亚洲伊人久久大香线蕉综合图片| 四虎影视成人永久免费观看视频| 亚洲人成www在线播放| 亚洲第一永久AV网站久久精品男人的天堂AV | 亚洲黄黄黄网站在线观看| 久久久久久成人毛片免费看 | 亚洲日韩乱码久久久久久| 在线观看永久免费视频网站|