Wczytuję obrazy

Ładowanie obrazu z dysku

Aby wyświetlić grafikę na ekranie, użyj komponentu Image. Aby załadować obraz (np. PNG, JPEG, WEBP) lub zasób wektorowy z dysku, użyj interfejsu API painterResource z odwołaniem do obrazu. Nie musisz znać typu zasobu. Wystarczy, że w modyfikatorach Image lub paint użyjesz wartości painterResource.

DrawScope:

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

Aby zapewnić dostępność aplikacji, podaj contentDescription dla elementów wizualnych na ekranie. Funkcja TalkBack odczytuje opis treści, więc musisz się upewnić, że tekst ma sens, gdy zostanie odczytany na głos i przetłumaczony. W tym przykładzie element stringResource() służy do wczytania przetłumaczonego opisu treści z pliku strings.xml. Jeśli element wizualny na ekranie służy wyłącznie do ozdoby, ustaw contentDescription na null, aby czytnik ekranu go zignorował.

Jeśli potrzebujesz funkcji ImageBitmap na niższym poziomie, możesz użyć funkcji ImageBitmap.imageResource() do załadowania bitmapy. Więcej informacji o obrazach typu ImageBitmap znajdziesz w sekcji ImageBitmap a ImageVector.

Obsługa rysowania

painterResource obsługuje obecnie te typy obiektów do rysowania:

Wczytywanie obrazu z internetu

Aby załadować obraz z internetu, możesz skorzystać z kilku bibliotek innych firm. Biblioteki do ładowania obrazów wykonują za Ciebie wiele ciężkiej pracy. Zajmują się zarówno buforowaniem (dzięki czemu nie musisz pobierać obrazu wielokrotnie), jak i logiką sieciową, aby pobrać obraz i wyświetlić go na ekranie.

Aby na przykład załadować obraz z użyciem komponentu Coil z Instacart, dodaj bibliotekę do pliku gradle i użyj AsyncImage, aby załadować obraz z adresu URL:

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

Biblioteka do wczytywania obrazów obsługiwana przez Kotlin Coroutines (Instacart).

Szybka i wydajna biblioteka ładowania obrazów na Androida, która zapewnia płynne przewijanie (Google).