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 użyjesz wartości painterResource w modyfikatorach Image lub paint.

DrawScope:

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

Aby mieć pewność, że Twoja aplikacja jest dostępna, 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 pliku Bitmap. 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 wczytać obrazy z internetu, możesz skorzystać z kilku bibliotek innych firm. Biblioteki do wczytywania 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 za pomocą komponentu Coil z Instacart, dodaj bibliotekę do pliku gradle i użyj elementu 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).