2011-01-20 89 views
6

我害怕已经有这个问题的不幸答案,但以防万一...我使用SurfaceView来执行一些图像处理与位图(灯光和颜色修改)我需要将修改的位图(即SurfaceView的内容)导入到新的位图中,以便将其保存为图像文件。Android:创建一个带有SurfaceView内容的位图

我一直在环顾四周,似乎有可能从View.getDrawingCache()获取位图,但它不适用于SurfaceView。我得到的只是一张空白的位图。

有没有解决这个问题的方法?

感谢

回答

7

你能画出你的SurfaceView到这是由一个位图支持的画布?

// be sure to call the createBitmap that returns a mutable Bitmap 
    Bitmap b = Bitmap.createBitmap(100, 100, Bitmap.Config.ARGB_8888); 
    Canvas c = new Canvas(b); 
    yourSurfaceView.draw(c); 
+0

我想使用这个解决方案,但它不可能用于SurfaceView,因为绘图过程是在一个线程中完成的,并且画布是从SurfaceHolder获得的。它以这种方式使用:canvas = surfaceHolder.lockCanvas(null); synchronized(surfaceHolder){doDraw(canvas); } – 2011-01-20 02:46:19

相关问题