我正在编写应用程序。我的应用程序将从画廊中选择照片。我使用Picasso将Image加载到ImageView。
问题是毕加索会自动旋转从相机拍摄的任何照片,而不旋转从互联网下载并保存到内部存储的任何图像
这是从互联网下载的图片:
这是从相机拍摄的照片,毕加索会自动旋转它,我要修复它:
这是我的代码:
picasso
.load(uriPhoto)
.resize(newWidthBitmap.toInt(), newHeightBitmap.toInt())
.centerInside()
//.rotate(90f)
.into(target_image)
答案 0 :(得分:3)
首先交叉检查您的相机图像位图是否旋转,因为从相机拍摄图像时,某些手机(如三星s4)会将图像旋转90度。如果图像未旋转,则使用滑行加载图像,因为毕加索在尺寸较大时会将图像旋转90度。
对于Glide,有文档说明如何使用:https://github.com/bumptech/glide
等级:
根:
repositories {
mavenCentral()
google()
}
app:
dependencies {
implementation 'com.github.bumptech.glide:glide:4.8.0'
annotationProcessor 'com.github.bumptech.glide:compiler:4.8.0'
}
如何在滑行时设置uri数据:
Glide.with(mContext)
.load(new File(pictureUri.getPath())) // Uri of the picture
.transform(new CircleTransform(..))
.into(image);