`
zengshaotao
  • 浏览: 796340 次
  • 性别: Icon_minigender_1
  • 来自: 上海
社区版块
存档分类
最新评论

Linux环境Graphics drawString写中文出现方块

 
阅读更多
jboss环境,调用Graphics drawString 出现中文方块,但是was环境没有问题。页面上没有乱码,但在g.drawString(node.getContent(), stringX, stringY); 这句上有问题。估计是与服务器相关的问题。对于jboss,还要用到jdk。而was有自带的jdk。所以可能是jboss依赖的jdk环境对中文字体的依赖问题。

分析:
BufferedImage在创建的图像调用的是服务器端的字体,所以在g.drawString(str, x, y);时,如果服务器端找不到对应的中文字体,那么就识别不了,最后写入图片的中文就变成了乱码、方框、问号等等。

因此需要添加服务器端的中文支持:

1:添加jre中文字体(宋体)
sjg:~# cd /usr/lib/jvm/jdk1.6/jre/lib/fonts
sjg:/usr/lib/jvm/jdk1.6/jre/lib/fonts# cp /home/simsun.ttc .
2:需要重启服务(如tomcat、resin等)

上述方法只是在jre的环境添加了字体,推理分析也可以在系统里添加,具体步骤需要根据实际情况来定,以下仅供参考:

添加系统中文字体(宋体):
root:~# cd /usr/share/fonts
root:/usr/share/fonts# mkdir winFonts
root:/usr/share/fonts# cp /home/dragon/Desktop/simsun.ttc winFonts
root:/usr/share/fonts# cd winFonts
root:/usr/share/fonts/winFonts# mkfontdir
root:/usr/share/fonts/winFonts# mkfontscale
分享到:
评论

相关推荐

    往图片写汉字显示乱码

    下面我们将深入探讨如何使用`Graphics2D`类向图片写汉字,以及如何解决汉字乱码问题。 首先,`Graphics2D`是Java AWT(Abstract Window Toolkit)库中的一个高级图形绘制接口,它扩展了`Graphics`类,提供了更多...

    打印窗体中的数据C#源代码e.Graphics.DrawString(label1.Text, new Font("宋体", 10, FontStyle.Regular), Brushes.Black, 260, 400);

    打印窗体中的数据C#源代码e.Graphics.DrawString(label1.Text, new Font("宋体", 10, FontStyle.Regular), Brushes.Black, 260, 400); e.Graphics.DrawString(textBox1.Text, new Font("宋体", 10, FontStyle....

    C# DrawString方法绘制文字

    C#使用自身的DrawString方法绘制文字,源码简单,示例演示了绘制过程,具体实现思路请参阅源码文件,运行示例程序后,点击“绘制文字”按钮,即可看到由DrawString方法生成的一行文字。运行效果截图:...

    Graphics实现指定字符间距

    在C#编程中,`Graphics`类是GDI+(Graphics Device Interface Plus)的一部分,用于在屏幕上绘制图形、文本和其他视觉元素。当我们需要在屏幕上输出文本,并且希望控制字符之间的间距时,`Graphics`类提供了丰富的...

    Graphics写字符串

    通过`Graphics.FromHdc()`或`Graphics.FromWindow()`等方法获取`Graphics`实例,然后就可以调用`DrawString()`方法来在屏幕上写字符串。 `DrawString()`方法的基本语法如下: ```csharp public void DrawString( ...

    水印 java Graphics2D实现文字图片水印

    Graphics2D是Java 2D API的一部分,它提供了丰富的绘图和图形操作功能,包括添加水印到图像。下面将详细介绍如何使用Java Graphics2D实现文字和图片水印,以及如何在四个角落添加水印。 首先,我们要导入必要的Java...

    Microsoft.Maui.Graphics.Skia 使用 DrawString 绘制文本的坐标问题.rar

    在Microsoft.Maui.Graphics.Skia中,`DrawString`方法是用于在画布上渲染文本的核心功能。这个方法的使用有时会涉及到一些坐标系统和布局的问题,特别是对于初学者来说可能会遇到一些困惑。本篇文章将深入探讨`...

    c#Bitmap类和Graphics类

    C#中的Bitmap类和Graphics类 C#中的Bitmap类和Graphics类是两种常用的图形处理类,它们之间存在一定的差异和联系。在本节中,我们将详细介绍Bitmap类和Graphics类的概念、方法和应用场景。 一、Bitmap类 Bitmap类...

    Image生成示例,Graphics绘图,验证码绘图

    g.DrawString(c.ToString(), font, brush, GetRandomPosition(rand)); brush.Dispose(); } g.Dispose(); captchaBitmap.Save("captcha.png", ImageFormat.Png); ``` 在这个示例中,你需要实现`GenerateRandomCode`...

    opengl实现俄罗斯方块

    ` 用于在游戏界面上显示即将出现的下一个方块。 - **文字绘制**:`static void drawString(char* str);` 和 `static void draw_char(char* str);` 用于绘制字符串。 - **绘制文本**:`static void draw_Text();` ...

    Visual C++中使用Graphics

    graphics.DrawString(L"Hello, World!", -1, &font, PointF(150, 150), &textBrush, &format); // 绘制居中对齐的文本 Bitmap image(L"path_to_image.jpg"); // 加载图像 graphics.DrawImage(&image, 0, 0); // 在...

    C#中Graphics绘制图形Demo

    `Graphics`类是C#中用于表示图形绘制环境的对象,它可以用来在任何支持GDI+(Graphics Device Interface Plus)的设备上绘制图形。例如,你可以使用`Graphics`在窗体、控件、位图甚至打印机上绘制。 2. 创建`...

    用JavaApplet编写的俄罗斯方块.rar

    绘画机制在JavaApplet中由Graphics类提供,它提供了丰富的绘图函数,如`drawRect()`, `fillRect()`, `drawLine()`, `drawString()`等,用于在Applet的画布上绘制各种图形和文本,从而构建出俄罗斯方块的方块、网格线...

    俄罗斯方块 C#编写

    开发者可能使用Graphics类来绘制方块,利用DrawRectangle方法绘制矩形,DrawString方法绘制分数和提示信息。 接下来,我们需要理解游戏的逻辑。俄罗斯方块的基本单元是各种形状的方块,这些方块由4个小方格组成。在...

    vs2010 c# graphics 坐标系

    在Visual Studio 2010中,C#的`System.Drawing`命名空间提供了一个强大的`Graphics`类,用于在各种图形设备上进行绘制操作,包括屏幕、打印机和图像。本项目是一个完整的工程,展示了如何利用`Graphics`类来绘制一个...

    C#俄罗斯方块源代码

    开发者可以使用DrawRectangle、FillRectangle等方法绘制方块,DrawString方法绘制分数等文本信息。颜色的设置、图形的填充等都可以通过相关的图形API来实现,使游戏界面更加生动。 五、调试与优化 源代码中还包括...

    vb.net graphics 成员

    ### vb.net graphics 成员知识点详解 #### Graphics 类概述 `Graphics` 类是 .NET Framework 类库中的关键组件,用于封装 GDI+ 绘图表面,提供了丰富的绘图功能。此类不可被继承,旨在为应用程序提供图形绘制能力...

    Graphics对象详解

    ### Graphics对象详解:掌握绘图的核心 ...以上是对`Graphics`对象及其相关概念的详尽解析,希望能帮助开发者在C#与WinForms环境中更加熟练地运用绘图功能,创作出美观且功能丰富的应用程序界面。

    俄罗斯方块J2ME代码

    `setColor()` 和 `fillRect()` 分别用于设置画笔颜色和填充矩形,`drawString()` 用于在屏幕上绘制文本。 5. **游戏逻辑**: `GameEngine` 类没有在给定的代码片段中展示,但通常会包含游戏的核心逻辑,如方块的...

    c#源码(俄罗斯方块)

    当方块落地并与已有方块形成完整的一行或多行时,这些行将被消除并得分,同时新的方块从顶部出现。 三、C#实现俄罗斯方块的关键技术 1. 游戏窗口与绘图:使用C#的System.Windows.Forms命名空间创建游戏窗口,并通过...

Global site tag (gtag.js) - Google Analytics