2 hhllnw hhllnw 于 2016.03.03 10:53 提问

Android:图片显示的时候旋转了90度

Android:listView的Item中有一个ImageView,问题是上传图片到服务器,然后从服务器中取数据显示的时候,有的图片旋转了90度,但是在点击预览的时候,图片是正常的。哪位大神可以帮帮忙???指点一下

4个回答

u010046908
u010046908   2016.03.03 13:22
已采纳

android.graphics.Matrix的 setRotate方法来设置旋转角度

           Matrix matrix = new Matrix();
            Bitmap bitmap = ((BitmapDrawable) getResources().getDrawable(R.drawable.pic)).getBitmap();
            // 设置旋转角度  
            matrix.setRotate(90);
            // 重新绘制Bitmap  
            bitmap = Bitmap.createBitmap(bitmap, 0, 0, bitmap.getWidth(),bitmap.getHeight(), matrix, true);
            imageView.setImageBitmap(bitmap);
hhllnw
hhllnw 目前用finalBitmap.display(imageView, uri);加载图片的,郁闷到现在,不知道问题到底在哪
接近 2 年之前 回复
hhllnw
hhllnw 目前的情况是这样的,在显示的时候只有部分图片旋转90度,大部分都是正常显示。如果直接旋转90度其它的也调乱了
接近 2 年之前 回复
menghuanmusic
menghuanmusic   2016.03.03 12:01

使用ExifInterface可以在加载图片之前查看一下这张图片的旋转角度,如果角度出现偏差,则重新旋转一下回正,再设置到ImageView即可。

menghuanmusic
menghuanmusic 回复hhllnw: 本地和服务器都一样适合。你拿到服务器的图片后,不也得生成一个bitmap,对这个bitmap做旋转就好了。
接近 2 年之前 回复
hhllnw
hhllnw 图片的地址是从服务器获取,ExifInterface(path)这个只适用于本地图片吧
接近 2 年之前 回复
lxk_1993
lxk_1993   Rxr 2016.03.04 11:21

android.graphics.Matrix的 setRotate方法来设置旋转角度

yemao_guyue
yemao_guyue   2017.11.02 17:54

可以设置android:rotation=“90”

Csdn user default icon
上传中...
上传图片
插入图片
准确详细的回答,更有利于被提问者采纳,从而获得C币。复制、灌水、广告等回答会被删除,是时候展现真正的技术了!