当我将 Swing 组件渲染到图像时,字体与在屏幕上渲染组件时的字体不同。这是显示差异的图像:
这是代码:
public static BufferedImage renderComponent(Component component) {
int width = component.getWidth();
int height = component.getHeight();
BufferedImage buffImage = new BufferedImage(width, height, BufferedImage.TYPE_INT_ARGB);
Graphics2D g = (Graphics2D) buffImage.getGraphics();
g.setFont(component.getFont());
g.setRenderingHint(RenderingHints.KEY_ANTIALIASING, RenderingHints.VALUE_ANTIALIAS_ON);
g.setRenderingHint(RenderingHints.KEY_TEXT_ANTIALIASING, RenderingHints.VALUE_TEXT_ANTIALIAS_ON);
component.paint(g);
g.dispose();
return buffImage;
}
为了制作完美的 Swing 组件屏幕截图,我应该更改什么? (该应用程序在 Windows 7 上运行)
最佳答案
What should I change to make a perfect screen shot of a Swing component?
我猜你不应该提供渲染提示。
我使用Screen Image类(它基本上是您的代码,内置了一些其他功能)。
关于java - 绘制到图像的组件使用难看的字体渲染,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4827845/