0

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

1)可以做些什么来以高分辨率显示

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

我正在使用线圈库将图像加载到 android 上可组合的图像中。

在谷歌像素 3a 上进行测试。

这是显示图像的应用程序和显示另一个图像的浏览器之间的差异的示例:在此处输入图像描述

在此处输入图像描述

我的可组合看起来像这样:

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

更新:

  1. 我尝试使用 ImageView 而不是可组合的,但我仍然得到相同的结果。
4

1 回答 1

0

在内部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

于 2021-12-12T14:10:09.083 回答