Загрузка изображений

Загрузите образ с диска

Используйте компонуемое Image для отображения графики на экране. Чтобы загрузить изображение (например: PNG, JPEG, WEBP) или векторный ресурс с диска, используйте API-интерфейс painterResource со ссылкой на изображение. Вам не нужно знать тип ресурса, просто используйте painterResource в Image или модификаторы paint .

DrawScope :

Image(
    painter = painterResource(id = R.drawable.dog),
    contentDescription = stringResource(id = R.string.dog_content_description)
)

Чтобы обеспечить доступность вашего приложения, укажите contentDescription для визуальных элементов на экране. TalkBack зачитывает описание контента, поэтому вы должны убедиться, что текст имеет смысл, если его читать вслух и переводить. В приведенном выше примере stringResource() используется для загрузки переведенного описания содержимого из файла strings.xml . Если ваш визуальный элемент на экране предназначен исключительно для визуального оформления, установите для contentDescription значение null , чтобы программа чтения с экрана его игнорировала.

Если вам нужны специальные функции ImageBitmap нижнего уровня, вы можете использовать ImageBitmap.imageResource() для загрузки растрового изображения. Дополнительные сведения о ImageBitmap см. в разделе ImageBitmap и ImageVector .

Поддержка рисования

painterResource в настоящее время поддерживает следующие типы рисования:

Загрузите изображение из Интернета

Чтобы загрузить изображение из Интернета, существует несколько сторонних библиотек, которые помогут вам справиться с этим процессом. Библиотеки загрузки изображений делают за вас большую часть тяжелой работы; они обрабатывают как кэширование (поэтому вы не загружаете изображение несколько раз), так и сетевую логику для загрузки изображения и отображения его на экране.

Например, чтобы загрузить изображение с помощью Coil из Instacart, добавьте библиотеку в файл Gradle и используйте AsyncImage для загрузки изображения по URL-адресу:

AsyncImage(
    model = "https://example.com/image.jpg",
    contentDescription = "Translated description of what the image contains"
)

{% дословно %} {% дословно %} {% дословно %} {% дословно %}