在不同的JDK或操作系统中,字符串宽度不一样的问题
对于下面这段程序:
Graphics2D g = ( Graphics2D ) new java.awt.image.BufferedImage( 10, 10, java.awt.image.BufferedImage.TYPE_INT_ARGB ).getGraphics();
FontMetrics fm = g.getFontMetrics( new Font( "宋体 ", 0, 12 ) );
int w = fm.stringWidth( "hello everyone! 大家好 " );
在不同的JDK或操作系统中,算出来的宽度w有时不一样,请问应该如何修改上面的程序,才能始终得到同样的宽度呢?
------解决方案--------------------操作系统不一样,算出来的长度不一样很正确的啊~~除非你去改操作系统去,这个程序没关系.
------解决方案--------------------根显卡、分辨率什么的好像也有关系
------解决方案--------------------你应当作的是“修改上面的程序,才能始终得到类似的画面效果”,而不是掩耳盗铃般,只想得到一个相同的结果
------解决方案--------------------要保证有相同的宽度,需要PhysicalFontFile 中的字是一样宽的,换句话说,只要你使用同样的字体文件(也可以叫做字体库文件,大小就是一样的。)
------解决方案--------------------帮忙顶
------解决方案--------------------关注一下....
------解决方案--------------------up
------解决方案--------------------这个有点难。。
好好看看需求,看有没有什么地方可以改进改进