Drukowanie zdjęć

Robienie i udostępnianie zdjęć to jedno z najpopularniejszych zastosowań urządzeń mobilnych. Jeśli Twoja aplikacja robi zdjęcia, wyświetla je lub pozwala użytkownikom udostępniać obrazy, warto włączyć opcję drukowania tych obrazów w aplikacji. Biblioteka pomocy Androida to wygodna funkcja, która umożliwia drukowanie obrazów za pomocą wymaga minimalnej ilości kodu i prostego zestawu opcji układu wydruku.

Z tej lekcji dowiesz się, jak wydrukować obraz przy użyciu klasy PrintHelper biblioteki pomocy wersji 4.

Drukuj zdjęcie

Klasa PrintHelper w bibliotece pomocy Androida udostępnia pozwalającą w prosty sposób drukować zdjęcia. Klasa ma jedną opcję układu: setScaleMode(), która umożliwia drukowanie na 2 sposoby:

  • SCALE_MODE_FIT – to tak, aby zmienić rozmiar obrazu w taki sposób, aby cały obraz był widoczny w obszarze przeznaczonym do wydrukowania.
  • SCALE_MODE_FILL – to przeskaluje obraz tak, aby wypełniał cały obszar strony do wydrukowania. Wybór oznacza, że pewna część górnej i dolnej, lewej i prawej krawędzi obrazu jest nie wydrukowano. Ta opcja jest wartością domyślną, jeśli nie ustawisz trybu skalowania.

Obie opcje skalowania obrazu setScaleMode() zachowują bieżący współczynnik proporcji obrazu. Ten przykładowy kod pokazuje, jak utworzyć instancję klasy PrintHelper, ustawić opcję skalowania i rozpocznij proces drukowania:

Kotlin

private fun doPhotoPrint() {
    activity?.also { context ->
        PrintHelper(context).apply {
            scaleMode = PrintHelper.SCALE_MODE_FIT
        }.also { printHelper ->
            val bitmap = BitmapFactory.decodeResource(resources, R.drawable.droids)
            printHelper.printBitmap("droids.jpg - test print", bitmap)
        }
    }
}

Java

private void doPhotoPrint() {
    PrintHelper photoPrinter = new PrintHelper(getActivity());
    photoPrinter.setScaleMode(PrintHelper.SCALE_MODE_FIT);
    Bitmap bitmap = BitmapFactory.decodeResource(getResources(),
            R.drawable.droids);
    photoPrinter.printBitmap("droids.jpg - test print", bitmap);
}

Metodę tę można wywołać jako działanie dla elementu menu. Zwróć uwagę, że pozycje menu dotyczące działań, które są które nie zawsze są obsługiwane (np. drukowanie), należy umieścić w rozszerzonym menu. Więcej informacji, zobacz projekt paska działań. Google.

Po zastosowaniu metody printBitmap() nie musisz podejmować żadnych działań z Twojego zgłoszenia. Interfejs Androida Print pozwala użytkownikowi wybrać drukarkę i opcje drukowania. Użytkownik może następnie wydrukować lub anuluj działanie. Jeśli użytkownik zdecyduje się wydrukować obraz, zostanie utworzone zadanie drukowania, na pasku systemowym pojawi się powiadomienie o drukowaniu.

Jeśli chcesz dołączyć do wydruków dodatkowe treści (oprócz obrazu), musisz i utworzyć dokument do wydruku. Informacje o tworzeniu dokumentów do drukowania znajdziesz w Drukowanie dokumentu HTML lub Drukowanie dokumentu niestandardowego lekcji.