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

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

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

    貝貝爸爸的程序人生

    關注Seam、BPM
    posts - 23, comments - 10, trackbacks - 0, articles - 32
      BlogJava :: 首頁 :: 新隨筆 :: 聯(lián)系 :: 聚合  :: 管理

    關于Graphics2D輸出圖片中文字符亂碼的問題

    Posted on 2011-08-17 15:00 貝貝爸爸 閱讀(9013) 評論(0)  編輯  收藏 所屬分類: BPM
    這幾天調(diào)試Activiti引擎的過程中,Activiti引擎會自動生成圖片,可如果遇到中文的節(jié)點時,圖片的中文字符將變成亂碼,搜索了下相關的文章,最終為字體原因造成具體看測試代碼:
     1 package org.activiti.examples.processdefinitions;
     2 
     3 import java.awt.Font;
     4 import java.awt.FontMetrics;
     5 import java.awt.Graphics2D;
     6 import java.awt.image.BufferedImage;
     7 import java.io.File;
     8 import java.io.IOException;
     9 
    10 import javax.imageio.ImageIO;
    11 
    12 public class Test {
    13 
    14     /**
    15      * @param args
    16      */
    17     public static void main(String[] args) {
    18         int width = 100;
    19         int height = 100;
    20         String text = "愛我中華";
    21         int x = 0;
    22         int y = 0;
    23         BufferedImage processDiagram = new BufferedImage(100100,
    24                 BufferedImage.TYPE_INT_ARGB);
    25         Graphics2D g = (Graphics2D) processDiagram.createGraphics();
    26         Font font = new Font("宋體", Font.BOLD, 12);
    27         g.setFont(font);
    28         FontMetrics fontMetrics = g.getFontMetrics();
    29         int textX = x + ((width - fontMetrics.stringWidth(text)) / 2);
    30         int textY = y + ((height - fontMetrics.getHeight()) / 2)
    31                 + fontMetrics.getHeight();
    32         g.drawString(text, textX, textY);
    33         File outFile = new File("d:/newfile.png");
    34         try {
    35             ImageIO.write(processDiagram, "png", outFile);
    36         } catch (IOException e) {
    37             // TODO Auto-generated catch block
    38             e.printStackTrace();
    39         }// 寫圖片
    40     }
    41 
    42 }
    43 
    搞定,呵呵。
    如果要部署到linux環(huán)境的話,需要將相關的字體文件傳到服務器的jdk下即可。
    我的本地字體文件地址是“C:\WINDOWS\Fonts\simsun.ttc”,
    上傳到服務器地址是:“/usr/jdk/instances/jdk1.5.0/jre/lib/fonts/simsun.ttc”

    剛才試了一下,可以不用指定字體,就能解決亂碼的問題,當然,我覺得應該自動和操作系統(tǒng)的字體相關吧。如果操作系統(tǒng)jdk不支持中文,也應該亂碼。

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


    網(wǎng)站導航:
     
    主站蜘蛛池模板: 91精品国产免费入口| 国产免费人成视频尤勿视频| 8x8×在线永久免费视频| 久久精品国产亚洲AV网站| a在线观看免费网址大全| 亚洲韩国精品无码一区二区三区| eeuss免费影院| 337p日本欧洲亚洲大胆裸体艺术| j8又粗又长又硬又爽免费视频| 久久精品亚洲福利| a级毛片在线视频免费观看| 亚洲AV无码精品色午夜果冻不卡 | 精品亚洲456在线播放| 免费电视剧在线观看| 亚洲av永久无码精品秋霞电影秋 | 亚洲AV综合色区无码一区爱AV| a级毛片黄免费a级毛片| 亚洲经典在线中文字幕| 好先生在线观看免费播放 | 大地资源中文在线观看免费版| 亚洲成a人片在线观看无码专区| 99精品视频免费在线观看| 亚洲国产av美女网站| 精品免费久久久久久成人影院| 免费大片黄在线观看| 久久亚洲精品成人综合| 毛片在线看免费版| 欧亚一级毛片免费看| 91亚洲一区二区在线观看不卡| 国色精品卡一卡2卡3卡4卡免费| 美女视频黄.免费网址| 国产AV无码专区亚洲Av| 青青视频观看免费99| 猫咪www免费人成网站| 亚洲第一中文字幕| 免费人成网站在线高清| 久久免费观看国产精品| 亚洲av无码成人影院一区| 久久精品国产69国产精品亚洲| 九九九精品成人免费视频| 99re6在线视频精品免费|