2014-06-12 28 views
0

我已经在布局中为imageView指定了一个区域,其中我应该通过引用其路径来显示图像。现在,我得到的图像分别显示在imageview上,但是图像小于其各自的imageView变形旋转

(1)图像小于imageView分配的图像。并且我想要img
恰好适合imageView

(2)图像逆时针旋转90度。我希望它是 正常显示没有旋转?

请帮我实现上述点

最后更新

Java_Code:

private void displayMeetinPointImageInsideImageView(DataBaseRow dataBaseRow,  
      ImageView imgSpaceIv) { 
     // TODO Auto-generated method stub 
     if (dataBaseRow == null) { 
      Log.w(TAG, "@displayMeetinPointImageInsideImageView(): The Object Of The DataBaseRow Class Is NULL, Maybe " 
        + "It Was Not Instantiated."); 
      return; 
     }else if (imgSpaceIv == null) { 
      Log.w(TAG, "@displayMeetinPointImageInsideImageView(): The Variable Of Type ImageView Is NULL, Maybe It Was " 
        + "Not Instantiated."); 
      return; 
     }else if (dataBaseRow.getImgPath().isEmpty()) { 
      Log.w(TAG, "@displayMeetinPointImageInsideImageView(): dataBaseRow.getImgPath() Is Empty"); 
      return; 
     }else { 
      String imgPathString = dataBaseRow.getImgPath(); 

      Options options = new Options(); 
      options.inSampleSize = 3; 

      Bitmap bitmap = BitmapFactory.decodeFile(imgPathString); 
      Bitmap imgbitmap = BitmapFactory.decodeFile(imgPathString, options); 
      imgSpaceIv.setImageBitmap(imgbitmap); 
     } 
} 
+0

错误消息显示您要加载的位图太大,所以它会给您提供内存不足的错误。在设置位图解码并将解码的位图设置为图像视图之前。 –

+0

你是正确的,虽然解码后的图像,我收到有缺陷的输出。我将很快发布更新 – user2121

回答

0

看看你的日志:

dataBaseRow.getImgPath()= /storage/emulated/0/DCIM/MPL/5th guy hinging.jpeg 

你的文件名有空格。

+0

我很感谢你的帮助。关于您的通知,是的,我给用户一个空间来设置拍摄的照片的任何名称,用户可以指定一个空格的图像名称,是否错误?! – user2121

+0

@Elpharaoh是的,这是错误的。文件名中不能有空格。尝试用下划线替换你的空格,它会解决你的问题,我想。 – Tartempion34

+0

但是你已经编辑了你所有的问题,所以我的评论现在已经超出了主题,我的回答也是如此。 – Tartempion34