如何在codenameone中绘制图像背景?

时间:2014-07-08 07:05:42

标签: java codenameone

我想在codenameone框架中的图像上绘制图形(如线条,多边形等)。

我写了一些类似下面的代码,但是我收到了错误而且它无法正常工作。

我怎么能做这样的事情,任何人都可以帮助我。

提前致谢

currentForm = new Form();
currentForm.setLayout(new LayeredLayout());
currentForm.applyRTL(true);
final Container mapContainer = new Container(new FlowLayout(Component.RIGHT));
currentForm.addComponent(mapContainer);
Image mapImg = res.getImage("t_map.png");
mapContainer.getUnselectedStyle().setBgImage(mapImg);
mapContainer.getUnselectedStyle().setBackgroundType(Style.BACKGROUND_IMAGE_SCALED_FILL);

paints(mapImg.getGraphics());

public void paints(Graphics g) {
    g.setColor(0xeecccc);
    g.fillRadialGradient(0xffffff, 0x334561, 0,0,90, 200);

    g.setColor(0xeecccc);
    g.fillRect(10, 10, 80, 130);

    g.setColor(0xcceecc);
    g.drawString("Write on Graphic",100, 150);
}

1 个答案:

答案 0 :(得分:1)

您需要创建一个非默认的可变图像,通过Image.createImage(int width,int height)Image.createImage(int width,int height, int argbBackgroundColor)创建可变图像。

这些图像将允许getGraphics()正常工作并绘画,然后您可以将从资源获得的图像绘制到可变图像上。