使用 Android 通用图像加载器下载的图像显示方向错误

Downloaded images are showing wrong orientation using the Android universal image loader

我使用了 android 通用图像加载器来下载图像 如果我下载 iOS 上传的图像,那么它会显示 270 度方向。

如果下载 s7 edge 上传的图像显示 90 度方向

如果我下载了 Nexus 移动版上传的图片显示方向正确

这是我用来下载图片的代码

 ImageLoaderConfiguration config = new ImageLoaderConfiguration.Builder(this)
            .build();
    ImageLoader.getInstance().init(config);

    options = new DisplayImageOptions.Builder().cacheInMemory(true)
            .cacheOnDisk(true).imageScaleType(ImageScaleType.EXACTLY).build();

 ImageLoader imageLoader = ImageLoader.getInstance();
    imageLoader.displayImage(url, image, options);

请建议克服这个问题

首先设置 cacheOnDisk(false) 因为,它会在您更改代码后显示以前的图像。

然后改成这样

  options = new DisplayImageOptions.Builder().cacheInMemory(true)
            .considerExifParams(true)
            .cacheOnDisk(true).imageScaleType(ImageScaleType.IN_SAMPLE_POWER_OF_2).build();

这解决了我的问题。

对于图像处理,我强烈推荐使用 Picasso Library。 (http://square.github.io/picasso/)。如果您想了解更多信息,可以在 GitHub 上关注他们的示例。

它自动处理图像缩放和其他与图像下载和解析相关的问题,如 OutOfMemory 等

从 URL 加载基本图像可以像这样完成:

Picasso.with(context)
    .load(url)
    .placeholder(R.drawable.user_placeholder)
    .error(R.drawable.user_placeholder_error)
    .into(imageView);