毕加索会自动旋转从相机拍摄的照片,但不会旋转从互联网下载的图像

时间:2018-08-20 17:50:03

标签: android kotlin picasso

我正在编写应用程序。我的应用程序将从画廊中选择照片。我使用Picasso将Image加载到ImageView。

问题是毕加索会自动旋转从相机拍摄的任何照片,而不旋转从互联网下载并保存到内部存储的任何图像

这是从互联网下载的图片:

enter image description here

这是从相机拍摄的照片,毕加索会自动旋转它,我要修复它:

enter image description here

这是我的代码:

picasso
       .load(uriPhoto)
       .resize(newWidthBitmap.toInt(), newHeightBitmap.toInt())
       .centerInside()
       //.rotate(90f)
       .into(target_image)

1 个答案:

答案 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);