2014-06-06 84 views
1

我想用x和y座標複製Canvas中的任何區域,然後將其粘貼到任何圖像。J2ME - 如何將區域複製到畫布中的圖像?

在例如:

Image image = Image.createImage(30, 20); 
image.drawImage(canvas); 
+0

這可以工作:'canvas.paint(image.getGraphics());',與一些剪輯的東西,如果你只需要一些... – Ales

+0

我認爲你誤解了Ales。他想從Canvas中複製一個區域並將其粘貼到圖像中。而不是相反。 –

回答

0

這是不可能將數據從Canvas也不GameCanvas複製。

要實現你想要的,你必須使用doublebuffering。這意味着,您必須使用Image bufferImg作爲您的緩衝區來繪製,然後將bufferImg繪製到您的Canvas上。

這樣的話,你可以從Image複製到另一個Image這樣的:

bufferImg.getRGB(int[] rgbData, int offset, int scanlength, int x, int y, int width, int height); 

然後

g.drawRGB(int[] rgbData, int offset, int scanlength, int x, int y, int width, int height, boolean processAlpha); 

其中g是第二ImageGraphics對象要繪製到。

使用這樣的doublebuffer會讓某些設備上的內容變慢一些,但是如果您希望能夠「提取」部分屏幕,則無法以其他任何方式執行此操作。