1
我想用x和y座標複製Canvas中的任何區域,然後將其粘貼到任何圖像。J2ME - 如何將區域複製到畫布中的圖像?
在例如:
Image image = Image.createImage(30, 20);
image.drawImage(canvas);
我想用x和y座標複製Canvas中的任何區域,然後將其粘貼到任何圖像。J2ME - 如何將區域複製到畫布中的圖像?
在例如:
Image image = Image.createImage(30, 20);
image.drawImage(canvas);
這是不可能將數據從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
是第二Image
的Graphics
對象要繪製到。
使用這樣的doublebuffer會讓某些設備上的內容變慢一些,但是如果您希望能夠「提取」部分屏幕,則無法以其他任何方式執行此操作。
這可以工作:'canvas.paint(image.getGraphics());',與一些剪輯的東西,如果你只需要一些... – Ales
我認爲你誤解了Ales。他想從Canvas中複製一個區域並將其粘貼到圖像中。而不是相反。 –