开发安卓程序。将手机相册的照片上传到程序中,有些照片是竖着照的,但上传到我的程序中照片总是横着的

以下是我使用的代码//先获取到了图片的路径imageUrl,路径肯定正确Bitmapbp=BitmapFactory.decodeFile(imageUrl);//通过路... 以下是我使用的代码
//先获取到了图片的路径imageUrl,路径肯定正确
Bitmap bp=BitmapFactory.decodeFile(imageUrl); //通过路径,载入位图
mImage.setImageBitmap(bp); // mImage是一个ImageView,用来显示图片
展开
 我来答
李雨来
2013-09-24
知道答主
回答量:38
采纳率:0%
帮助的人:15.1万
展开全部
参考如下代码:

bitmap=((BitmapDrawable) getResources().getDrawable(R.drawable.arrow)).getBitmap();
this.setLayoutParams(lp);
//设置图像的旋转角度
matrix.setRotate(degrees);
//旋转图像,并生成新的Bitmap对像
bitmap=Bitmap.createBitmap(bitmap, 0, 0, bitmap.getWidth(), bitmap.getHeight(), matrix, true);
//重新在ImageView组件中显示旋转后的图像
this.setImageBitmap(bitmap)
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
堵志专087
2013-09-23 · 超过10用户采纳过TA的回答
知道答主
回答量:68
采纳率:62%
帮助的人:15.8万
展开全部
再creatBitmap一次 然后将照片转正,是会出现这种BUG的,需要你用代码来转一次
追问
再creatBitmap一次就可以转成正的了么?
如何转成正的呢?因为并不是所有图片都会出现变成横的情况。只有照相机竖着照的才会,屏幕截屏这种就不会横过来。我应该如何判断图片是不是颠倒了?
追答
private static int getRotateImage(ExifInterface exif) {
if (exif == null)
return 0;
int orientation = exif.getAttributeInt(ExifInterface.TAG_ORIENTATION,
-1);
switch (orientation) {
case ExifInterface.ORIENTATION_ROTATE_90:
return 90;
case ExifInterface.ORIENTATION_ROTATE_180:
return 180;
case ExifInterface.ORIENTATION_ROTATE_270:
return -90;
default:
return 0;
}
}
将图片文件的的ExifInterface传进这个方法 就可以得到转正的角度,如果本来就是正的就不用转了,
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
可可往事
2013-09-23
知道答主
回答量:22
采纳率:0%
帮助的人:16.3万
展开全部
点相册里的有个左右旋转图片的就可以了............
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 1条折叠回答
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式