Glide无法正确旋转相机中的图像

时间:2019-04-17 15:38:26

标签: android android-glide

我在 Glide 上遇到问题: 如果我从“相机肖像”模式(在我的情况下为Pixel XL)拍摄照片,则稍后加载的图像将逆时针旋转90°。

二手滑行:

implementation 'com.github.bumptech.glide:glide:4.9.0'
annotationProcessor 'com.github.bumptech.glide:compiler:4.9.0'

这是我加载图片的方法:

public class BetterRoundedImageView extends RoundedImageView {
    private static final String TAG = BetterRoundedImageView.class.getSimpleName();

    public BetterRoundedImageView(Context context, AttributeSet attrs) {
        super(context, attrs);
    }

    /**
     * Loads an image given by param url (this sets a default placeholder)
     *
     * @param url The url of the desired image to be loaded
     */
    public void loadImage(final String url) {
        loadImage(url, R.drawable.tracktics_logo);
    }

    /**
     * Loads an image given by param url and a default placeholder while loading
     *
     * @param url              The url of the desired image to be loaded
     * @param placeholderResId the resource Id of the placeholder shown while loading image
     */
    public void loadImage(final String url, @DrawableRes final int placeholderResId) {

        Glide.with(getContext())
                .asBitmap()
                .load(url)
                .circleCrop()
                .placeholder(placeholderResId)
                .into(BetterRoundedImageView.this);
    }
}

此类正在从{p>扩展RoundedImageView

implementation 'com.makeramen:roundedimageview:2.3.0'

它的用法如下:

playerPhoto.loadImage(data.getProfilePictureUrl(), R.drawable.ic_default_profilepicture);

有人可以帮我吗?


编辑:

也许它与数据的存储方式有关?在我实际拍摄照片的活动中,图像已正确加载。但是,当我回到另一个视图时,该图像是从服务器(CDN)提取并本地缓存到Realm数据库的。

通过发送base64字符串以保存exif信息在服务器上存储图像时,是否缺少某些东西?

2 个答案:

答案 0 :(得分:0)

我遇到了同样的问题,使用此代码,图像旋转了90度

 Glide.with(activity).load(BitmapFactory.decodeFile(photoPath)).into(imgPicture)

使用此代码可以按预期工作

Glide.with(activity).asBitmap().load(photoPath).into(imgPicture)

与其说是答案,不如说是一个提示,可以帮助您。

答案 1 :(得分:0)

我通过替换库解决了该问题:

https://github.com/MLSDev/RxImagePicker

由另一个Image Picker库:

https://github.com/ArthurHub/Android-Image-Cropper

现在可以正确处理旋转了。...

似乎根本不是Glide问题!