如何在Android应用中使用高分辨率(4k)图像

How to use high resolution(4k) image in android app(如何在Android应用中使用高分辨率(4k)图像)

本文介绍了如何在Android应用中使用高分辨率(4k)图像的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我正在从API获取高分辨率图像,并将它们显示在我的应用程序上。我不熟悉处理高分辨率图像或图像,所以当我在应用程序上看到图像变得模糊时,我感到很惊讶。

1)如何才能以高分辨率显示

2)可以做些什么来减少分辨率损失?

我正在使用Coil库将图像加载到可在Android上合成的图像中。

在Google像素3a上测试。

以下是显示图像的应用程序和显示另一个图像的浏览器之间的区别示例:

我的可合成内容如下所示:

Image(
      painter = rememberImagePainter(
                    imageUrl,
                    builder = { allowHardware(false) }
                ),
      contentDescription = "",
      modifier = Modifier
                    .fillMaxWidth()
                    .aspectRatio(1f),
      contentScale = ContentScale.Fit,
     )

更新:

  1. 我尝试使用ImageView而不是Composable,但我仍然 获得相同的结果。

推荐答案

builder中,强制将图像大小(以像素为单位)设置为您的首选大小。

Image(
    painter = rememberImagePainter(
        imageUrl,
        builder = {
            allowHardware(false)
            size(image.width, image.height)
        }
    ),
    contentDescription = "",
    modifier = Modifier
        .fillMaxWidth()
        .aspectRatio(1f),
    contentScale = ContentScale.Fit,
)

但在指定非常高的分辨率时要小心,它会导致崩溃RuntimeException: Canvas: trying to draw too large bitmap

这篇关于如何在Android应用中使用高分辨率(4k)图像的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持编程学习网!

本文标题为:如何在Android应用中使用高分辨率(4k)图像