如何将画布保存为j2me中的图像



我想将画布的当前状态保存为图像,因为我将在下一个pointinterevent中使用它。如果我使用repaint,它将清除画布,我无法获得画布的先前状态。我想把它存为图像然后反复迭代这样我就能知道我想要什么了。最后一个问题是如何将画布保存为图像?或者是否有可能将图形对象转换为字节数组?

不能另存为图片

你必须先创建一个图像,然后你才能在这个图像上作画。

基本上这意味着你的midlet将做更多的工作,因为你首先必须绘制到你的图像,然后你必须将该图像绘制到画布上。但这是你做你想做的事的唯一方法。

创建与屏幕大小(宽度和高度)相同的Image。当你想保存画布状态时,调用Canvas.paint传递图像Graphics

class MyCanvas extends Canvas {
  private Image lastScreen;
  protected void sizeChanged(int w, int h) {
    if (lastScreen == null || w != lastScreen.getWidth()
        || h != lastScreen.getHeight) {
      lastScreen = Image.createImage(w, h);
    }
  }
  protected void paint(Graphics g) {
    // paint the whole screen
  }
  protected void pointerReleased(int x, int y) {
    paint(lastScreen.getGraphics());
  }
}

相关内容

  • 没有找到相关文章

最新更新