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

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

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

    Thinking in Java
    Java開(kāi)發(fā)技巧與實(shí)踐
    posts - 9,comments - 6,trackbacks - 0
    基本思路是向Display繪制圖片,然后通過(guò)操作Image上的像素點(diǎn)來(lái)生成點(diǎn)陣字庫(kù)。

    這里以SWT為例,代碼如下:
     1 GC gc = new GC(image);
     2 gc.setFont(font); // 設(shè)置字體,事先可以準(zhǔn)備好一個(gè)字體實(shí)例
     3 gc.drawString(ch.toString(), 0, 0);
     4 
     5 
     6 for (int y = 0; y < size.y; y++) {
     7     for (int x = 0; x < size.x; x++) {
     8           int pixel = image.getImageData().getPixel(x, y);
     9           if (pixel != 0xffffff00) {
    10 
    11                // 這里對(duì)像素值的判斷依賴于gc的前景色和背景色設(shè)置,通過(guò)判斷則可以對(duì)字符上的每一個(gè)像素進(jìn)行操作,生成點(diǎn)陣坐標(biāo)序列(x, y)
    12           }
    13      }
    14 }
    15 
    16 gc.dispose();
    17 image.dispose();

    當(dāng)然這里可以一次性獲得一個(gè)String的點(diǎn)陣矩陣,那么需要事先準(zhǔn)備多大的image呢?

    在SWT中可以使用gc.stringExtent(String...)來(lái)獲取,代碼如下:
    1 GC gc = new GC(Display.getDefault()); 
    2 gc.setFont(font);
    3 Point size = gc.stringExtent(ch.toString()); // 獲得了gc實(shí)際繪制區(qū)域的大小
    4 gc.dispose();


    無(wú)人分享的快樂(lè)不是真快樂(lè),沒(méi)人分擔(dān)的痛苦是真痛苦。
    posted on 2012-02-16 19:52 Feenn 閱讀(2751) 評(píng)論(0)  編輯  收藏

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


    網(wǎng)站導(dǎo)航:
     
    主站蜘蛛池模板: 亚洲精品乱码久久久久久自慰| 一个人免费观看www视频在线| 免费人成网站在线播放| 亚洲 日韩经典 中文字幕| 免费观看激色视频网站(性色)| 666精品国产精品亚洲| 久热中文字幕在线精品免费| 亚洲中文字幕在线无码一区二区| 日本h在线精品免费观看| 亚洲a级在线观看| AV免费网址在线观看| 亚洲AV成人精品一区二区三区| 色播在线永久免费视频| 在线亚洲v日韩v| 久久精品夜色噜噜亚洲A∨| 国产在线观看免费av站| 久久久久久亚洲精品中文字幕 | 久久久久亚洲爆乳少妇无 | 久久精品视频亚洲| 久久免费看黄a级毛片| 波多野结衣亚洲一级| 在线观看永久免费视频网站| 免费人成又黄又爽的视频在线电影| 国产成人亚洲综合| 91精品免费不卡在线观看| 国产亚洲福利在线视频| 亚洲日韩精品无码专区网站| 四虎国产成人永久精品免费| 亚洲最大福利视频| 久久亚洲精品无码观看不卡| 24小时日本电影免费看| 黄色一级免费网站| 亚洲日本中文字幕| 日韩免费高清视频| 日本高清高色视频免费| 亚洲国产精品精华液| 亚洲AV日韩精品久久久久| 日本高清免费不卡在线| 午夜视频在线免费观看| 色噜噜噜噜亚洲第一| 亚洲专区在线视频|