【问题标题】:Downloaded images are showing wrong orientation using the Android universal image loader使用 Android 通用图像加载器下载的图像显示方向错误
【发布时间】:2024-01-04 04:30:01
【问题描述】:

我使用安卓通用图片加载器下载图片 如果我下载 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);

请建议克服这个问题

【问题讨论】:

    标签: android orientation universal-image-loader


    【解决方案1】:

    先设置cacheOnDisk(false),因为,修改代码后会显示之前的图片。

    然后改成这样

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

    这解决了我的问题。

    【讨论】:

      【解决方案2】:

      对于图像处理,我强烈推荐使用 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);
      

      【讨论】:

        最近更新 更多