文本输出图片 中文显示 问题

gongyifeng_cs 2007-05-17 10:00:18
我将中文文本写入图片,出现一部分中文显示正确,一部分乱码
我的操作系统 Linux redhat的一个版本 fc3
代码:
package com.kinstar.dmt.service;
import java.io.*;
import java.awt.*;
import java.awt.image.*;

import com.sun.image.codec.jpeg.*;

public class DrawMenu {

public void createImage(FileOutputStream filename,String [] food,String [] jiage) {
int width = 1024;
int height = 768;
BufferedImage bi = new BufferedImage(width, height, BufferedImage.TYPE_INT_RGB);
Graphics2D g = bi.createGraphics();
// set background:
g.setBackground(Color.black);
g.clearRect(0, 0, width, height);

g.drawLine(5,5,1019,5);
g.drawLine(5,5,5,763);
g.drawLine(1019,5,1019,763);
g.drawLine(5,763,1019,763);

g.setFont(new Font("宋体",Font.BOLD,50));
g.drawString("菜名", 200,60 );
g.drawString("价格", 700,60 );
g.drawLine(5,80,1019,80);
int FontSize = 40;
g.setFont(new Font("宋体",Font.BOLD,FontSize));
g.setColor(Color.RED);
System.err.println("food.length:"+food.length);
DoString dostring = new DoString();
for(int i = 1;i<=food.length;i++){
g.drawString(food[i-1], 200, 120+FontSize*(i-1));
g.drawString(dostring.getStr(jiage[i-1]), 700, 120+FontSize*(i-1));
}
// end draw:
g.dispose();
bi.flush();
// encode:
JPEGImageEncoder encoder = JPEGCodec.createJPEGEncoder(filename);
JPEGEncodeParam param = encoder.getDefaultJPEGEncodeParam(bi);
param.setQuality(1.0f, false);
encoder.setJPEGEncodeParam(param);
try {
encoder.encode(bi);
}
catch(IOException ioe) {
ioe.printStackTrace();
}
}
}
传入的两个string数组都是中文数组
...全文
156 回复 打赏 收藏 转发到动态 举报
写回复
用AI写文章
回复
切换为时间正序
请发表友善的回复…
发表回复

62,614

社区成员

发帖
与我相关
我的任务
社区描述
Java 2 Standard Edition
社区管理员
  • Java SE
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧