Java自定义字体失真
我正在编写一个应用程序,其中包含一个用于GUI字体的.ttf文件。加载字体似乎没有问题,但是当使用Java自定义字体失真,java,swing,fonts,label,Java,Swing,Fonts,Label,我正在编写一个应用程序,其中包含一个用于GUI字体的.ttf文件。加载字体似乎没有问题,但是当使用deriveFont()方法编辑字体大小时,字体似乎失真(例如,不在同一行,字母缺少部分,倾斜等) 为什么会这样?有路可走吗 加载字体的代码: InputStream is = getClass().getResourceAsStream("/fonts/lg.ttf"); GraphicsEnvironment ge = GraphicsEnvironment.getLocalGraphicsEn
deriveFont()
方法编辑字体大小时,字体似乎失真(例如,不在同一行,字母缺少部分,倾斜等)
为什么会这样?有路可走吗
加载字体的代码:
InputStream is = getClass().getResourceAsStream("/fonts/lg.ttf");
GraphicsEnvironment ge = GraphicsEnvironment.getLocalGraphicsEnvironment();
leagueGothic = Font.createFont(Font.TRUETYPE_FONT, is);
ge.registerFont(leagueGothic);
然后使用deriveFont()
scale(int,char)
只是一种改变大小与应用程序窗口大小成比例的方法,它返回一个int
在调用deriveFont()
时,方法scale(int,char)
“它返回一个int
”它应该返回一个float
,根据size
参数的要求。Hm它没有做到这一点,文本字体像往常一样失真。失真让我对仿射转换
感到好奇;如果没有答案,很难说。
label.setFont(leagueGothic.deriveFont(Font.PLAIN, scale(50, 'x'));