2011-08-03 132 views
0

我想从画廊中将图像设置为指纹背景(api演示示例)中的画布。我可以从图库中检索图像,但无法将其设置为背景。一个猜测是我可以打开图像作为输入流,将其转换为数组并将其传递给位图 - 但我不确定它是否能够正常工作,而且我对代码的使用方式没有任何线索。有人能帮助我吗?Android需要从画廊中设置图像作为画布背景

+0

安置自己的工作代码,以便我们可以看到你所知道的这么远。例如,你有没有从磁盘上的资源创建一个有效的Bitmap对象,并且需要知道如何将该位图绘制到画布上? – Josh

回答

1

您可以修改onSizeChanged()函数,

protected void onSizeChanged(int w, int h, int oldw, int oldh) { 
     super.onSizeChanged(w, h, oldw, oldh); 
     BitmapFactory.Options decode_options = new BitmapFactory.Options(); 

     decode_options.inMutable = true; 
     mBitmap = BitmapFactory.decodeFile(<file_path>,decode_options); 
     mCanvas = new Canvas(mBitmap); 
     mBitmapPaint.setXfermode(new PorterDuffXfermode (SRC_IN)); 
    } 
+0

inMutable选项仅适用于Android目标11.其他任何适用于android 7的东西? – user531069

+0

你可以使用,mBitmap = BitmapFactory.decodeFile();选项来解码位图 – Deepak

+0

我有同样的问题,并没有得到适当的解决方案。所以我怎么能使它成为可能?请参阅:http://stackoverflow.com/questions/8005811/how-to-handle-this-error-while-select-image-from-android-gallery –