我想在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);
}
答案 0 :(得分:1)
您需要创建一个非默认的可变图像,通过Image.createImage(int width,int height)
或Image.createImage(int width,int height, int argbBackgroundColor)
创建可变图像。
这些图像将允许getGraphics()
正常工作并绘画,然后您可以将从资源获得的图像绘制到可变图像上。