共享图像绘制在比屏幕本身更大的图形上

时间:2017-03-07 09:35:11

标签: codenameone

下面的代码将在图像图形上绘制他的组件 - 但它会将其翻译 - 而不是将其拟合到图形的大小。

int ratio = 2;
Image screenshotImage = Image.createImage(getWidth()* ratio,getHeight()* ratio);
c.revalidate();
c.setVisible(true);
c.paintComponent(screenshotImage.getGraphics(), true);

我无法使用图片而只是缩放它,因为某些内容会被截断。 组件是否可以在指定大小的图像图形上绘制自己。

非常感谢

1 个答案:

答案 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来撤消所有这些。