Warning: file_put_contents(/datas/wwwroot/jiajiahui/core/caches/caches_template/2/default/show.php): failed to open stream: Permission denied in /datas/wwwroot/jiajiahui/core/libraries/classes/template_cache.class.php on line 55

Warning: chmod(): Operation not permitted in /datas/wwwroot/jiajiahui/core/libraries/classes/template_cache.class.php on line 56
来自画廊意图的Android图像 - 源码之家

来自画廊意图的Android图像

问题描述:

为什么当我从意图库中加载图像时,这不会旋转。就好像通过Android图库查看旋转一样?来自画廊意图的Android图像

===========================================

我解决了这个办法

int orientation=getOrientationImageFile(); 

    Canvas c=new Canvas(bmO); 

    if(orientation!=0){ 
     Matrix matrix=new Matrix(); 
     matrix.setRotate(orientation); 
     c.drawBitmap(bm, matrix, new Paint()); 

     bm=Bitmap.createBitmap(bmO, 0, 0, bmO.getWidth(), bmO.getHeight(), matrix, true); 
    } 

private int getOrientationImageFile() { 
     String[] proj = { MediaStore.Images.Media.ORIENTATION }; 
     Cursor cursor = managedQuery(selectedImageUri, proj, null, null, null); 
     int column_index = cursor 
       .getColumnIndexOrThrow(MediaStore.Images.Media.ORIENTATION); 
     cursor.moveToFirst(); 
     return cursor.getInt(column_index); 
} 

selectedImageUri - 它年代DATA从意图画廊

BMO -bitmap通过selectedImageUri

创建返回

我尝试过,它的工作原理,但是解决方案,还是可以解决?还有其他更好的解决方案?

+0

请详细了解您的问题。 – 2012-01-01 21:32:22

+0

@ coder_For_Life22例如,如果我在Gallery中的风景图片中使用手机拍照时,Android显示效果不错,但是如果我加载了意图图库,则不会旋转,并且在上下方有相当多的黑色边框图片。无论自动屏幕旋转是否设置,都会发生。 – 2012-01-01 21:42:21

因为Android图库应用程序为你做。所以,你需要自己实现这样的事情

不要担心 - 它很容易:How to crop and rotate image programmatically in android?

+0

@ biovamp我通过编辑问题发布了我的解决方案。 – 2012-01-01 22:59:36