Graphics下,使用drawString("天下"),无法正常显示????

peacock_king 2003-01-15 10:30:44
用servlet动态生成图片(图文结合),在客户端每个汉字都显示成空心方块,请问如何解决?

注:我已经进行了编码转换,但是不行!
...全文
352 9 打赏 收藏 转发到动态 举报
写回复
用AI写文章
9 条回复
切换为时间正序
请发表友善的回复…
发表回复
hystream 2003-01-17
  • 打赏
  • 举报
回复
拷贝一个包,就可以滚动了!!!!!!!!
我一直用它
希偌 2003-01-16
  • 打赏
  • 举报
回复
看看这段,我这里用的时候显示正常
import java.io.*;
import javax.servlet.*;
import javax.servlet.http.*;
import java.awt.image.*;
import java.awt.*;
import com.sun.image.codec.jpeg.*;

public class draw extends HttpServlet {
public void doGet(HttpServletRequest request, HttpServletResponse response)
throws IOException, ServletException
{
response.setContentType("image/jpeg;charset=gb2312");
request.setCharacterEncoding("GB2312");
BufferedImage image=new BufferedImage(800,600,BufferedImage.TYPE_INT_RGB);
Graphics g=image.getGraphics();
g.drawRect(100,100,200,200);
g.drawString("中文",200,200);
ServletOutputStream out = response.getOutputStream();
JPEGImageEncoder encoder = JPEGCodec.createJPEGEncoder(out);
encoder.encode(image);
out.close();
}

public void doPost(HttpServletRequest request, HttpServletResponse response)
throws IOException, ServletException
{
doGet(request,response);
}

public void service(HttpServletRequest request, HttpServletResponse response)
throws IOException, ServletException
{
doGet(request,response);
}
}
colors 2003-01-16
  • 打赏
  • 举报
回复
学习
yixia 2003-01-16
  • 打赏
  • 举报
回复
你和我的问题一样,我的也无法显示,根本没有画出来
http://expert.csdn.net/Expert/topic/1362/1362731.xml?temp=.4136164
peacock_king 2003-01-16
  • 打赏
  • 举报
回复
对了,最可jbuilder有什么缺点都可以原谅,但是它竟然不支持鼠标滚轮,简直太可恨了,所以我不到迫不得已,才不用它呢!!!!
peacock_king 2003-01-16
  • 打赏
  • 举报
回复
呵呵,好主意,不过jbuilder功能太多,有点复杂,用起来感觉好乱,尤其是调试的时候。

而且jbuilder自带的类库与jdk中的类库在许多地方有名称冲突,必须明确标示出包名,麻烦~~~~~~~
希偌 2003-01-16
  • 打赏
  • 举报
回复
关于IDE的问题,恐怕你我都无法解决,最好的办法是换
用JBuilder不就有了吗
peacock_king 2003-01-16
  • 打赏
  • 举报
回复
我用的是imageio,

顺便问一下,为什么javax.imageio.*在SunONE Studio 4之下没有代码提示?

事实上sun studio里写程序时,有很多非jdk所有的.jar包含进来之后,sun studio并不为其提供相应的代码提示,这一点还不如jcreator呢!

有解决办法吗?
peacock_king 2003-01-16
  • 打赏
  • 举报
回复
终于找到原因了,是fontName设置有问题,
原程序:
String fontName="arial";
Font mFont = new Font(fontName, 0, fontSize);
g.setFont(mFont);
g.drawString(request.getParameter("text"));(text参数值为"天下")

其中客户端charset=gb2312,
servlet里,
response.setContentType("image/jpeg;charset=GB2312");

只需把fontName改为"scanf"或"system"即可。

62,616

社区成员

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

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