2014-02-15 44 views
0

我使用以下片段(来自SO帖子here),将使用相机拍摄的照片作为缩略图显示在imagevew中。但图片的缩略图不显示并保持空白。可能是什么原因?设置使用相机拍摄的照片,作为图像视图中的缩略图

Bundle extras = data.getExtras(); 
       if(extras.get("data") != null){ 
        Bitmap imageBitmap = (Bitmap) extras.get("data"); 
    // Get the dimensions of the View 
    int targetW = imgViewPreview.getWidth(); 
    int targetH = imgViewPreview.getHeight(); 

    // Get the dimensions of the bitmap 
    BitmapFactory.Options bmOptions = new BitmapFactory.Options(); 
    bmOptions.inJustDecodeBounds = true; 
    Bitmap bitmap = Bitmap.createScaledBitmap(picture, targetW, targetH, true); 
    imgViewPreview.setVisibility(View.VISIBLE); 
    imgViewPreview.setImageBitmap(imageBitmap); 
} 
+0

嘿,看到我更新的答案。 –

回答

1
bmOptions.inJustDecodeBounds = true; 

将导致返回任何实际的位图。它旨在读取有关位图的信息(如宽度/高度),而不实际将所有内容都加载到内存中。

- >inJustDecodeBounds

我建议检查出有关显示位图此链接到官方Android SDK文档: Link

1

就出在这里你的问题...

Bitmap bitmap = Bitmap.createScaledBitmap(picture, targetW, targetH, true); 

这里,你正在通过图片而不是通过imageBitmap这是你的tak图片。所以,你正确的代码将是...

Bitmap bitmap = Bitmap.createScaledBitmap(imageBitmap, targetW, targetH, true); 
+0

谢谢你的帮助,但是很抱歉,这是我发布问题时的错误。 createScaledBitmap是另一种我传递imageBitmap的方法,它在该方法中用作图片。请看我现在的编辑 – user264953

+0

我认为你不明白我指出的问题。请仔细阅读我的答案。 –

相关问题