使用 drawString() 时如何将字体大小减小到 0.0001f?
How to decrease font size to 0.0001f when using drawString()?
我现在有一个关于 OpenStreetMaps 的作业,其中一个练习是在地图上显示各自道路上的道路名称。
我现在的问题是,我们使用的坐标太小了,即使是最小的 int 字体大小也比它应该的大一百倍。
我试过deriveFont()方法,但是好像没有什么效果
g.setPaint(Color.black);
for (DrawnString d : model.getRoads()){
Point2D.Double p = d.getPosition();
Font font = new Font("TimesRoman", Font.PLAIN, 1);
font.deriveFont(0.0001f); //doesn't work!
g.setFont(font);
g.drawString(d.getText(), (float) p.x, (float) p.y);
}
我的问题是,是否有办法将字体大小减小到 0.0001f 这样的小尺寸?
好吧是我傻,我只是在derivedFont()前面漏了一个"font ="。
font = font.deriveFont(0.0001f);
现在有效。
deriveFont()
方法 returns 类型 font
的对象,它是调用字体的副本,参数已更改。
因此,将行更改为:font = font.deriveFont(0.001f);
一切都按预期工作(字体非常小)
我现在有一个关于 OpenStreetMaps 的作业,其中一个练习是在地图上显示各自道路上的道路名称。
我现在的问题是,我们使用的坐标太小了,即使是最小的 int 字体大小也比它应该的大一百倍。
我试过deriveFont()方法,但是好像没有什么效果
g.setPaint(Color.black);
for (DrawnString d : model.getRoads()){
Point2D.Double p = d.getPosition();
Font font = new Font("TimesRoman", Font.PLAIN, 1);
font.deriveFont(0.0001f); //doesn't work!
g.setFont(font);
g.drawString(d.getText(), (float) p.x, (float) p.y);
}
我的问题是,是否有办法将字体大小减小到 0.0001f 这样的小尺寸?
好吧是我傻,我只是在derivedFont()前面漏了一个"font ="。
font = font.deriveFont(0.0001f);
现在有效。
deriveFont()
方法 returns 类型 font
的对象,它是调用字体的副本,参数已更改。
因此,将行更改为:font = font.deriveFont(0.001f);
一切都按预期工作(字体非常小)