我正在执行以下操作将文本写入位图:
AttributedString as = new AttributedString(buf.toString());
FontRenderContext frc = graphics.getFontRenderContext();
LineBreakMeasurer lineMeasurer = new LineBreakMeasurer(as.getIterator(), frc);
TextLayout layout = lineMeasurer.nextLayout(Integer.MAX_VALUE);
layout.draw (graphics, left, line.getBaseline());
问题是虽然这在Java中非常快,但我们也使用IKVM在.NET下运行,并且它在那里非常慢。
是否有另一种方法可以将格式化文本写入Graphics2D对象?
答案 0 :(得分:0)
我们在IKVM中发现了问题(它为每个字形的曲线中的每个点重新创建了一个数组-实际上是数百万个数组的创建)。
我们在IKVM中修复了此问题,现在它也可以在IKVM下快速点亮。如果您遇到相同的问题,我们将在https://www.nuget.org/packages/IKVM.WINDWARD/处提供此修复程序。