下面的代码将在图像图形上绘制他的组件 - 但它会将其翻译 - 而不是将其拟合到图形的大小。
int ratio = 2;
Image screenshotImage = Image.createImage(getWidth()* ratio,getHeight()* ratio);
c.revalidate();
c.setVisible(true);
c.paintComponent(screenshotImage.getGraphics(), true);
我无法使用图片而只是缩放它,因为某些内容会被截断。 组件是否可以在指定大小的图像图形上绘制自己。
非常感谢
答案 0 :(得分:0)
使用:
c.setX(0);
c.setY(0);
c.setWidth(img.getWidth());
c.setHeight(img.getHeight());
if(c instanceof Container) {
c.setShouldLayout(true);
c.layoutContainer();
}
c.remove();
c.paintComponent(myImage.getGraphics(), true);
// add c back to it's parent container and revalidate
如果组件当前在表单上,您可以通过以后在父表单上调用revalidate来撤消所有这些。