Mencetak foto

Mengambil dan berbagi foto adalah salah satu penggunaan paling populer pada perangkat seluler. Jika pengajuan permohonan Anda mengambil foto, menampilkannya, atau memungkinkan pengguna berbagi gambar, sebaiknya aktifkan pencetakan gambar tersebut dalam aplikasi Anda. Android Support Library menyediakan fungsi yang mudah untuk mengaktifkan pencetakan gambar menggunakan jumlah kode minimal dan serangkaian opsi tata letak cetak yang sederhana.

Tutorial ini menunjukkan cara mencetak gambar menggunakan class PrintHelper support library v4.

Mencetak gambar

Class PrintHelper Android Support Library menyediakan cara mudah untuk mencetak gambar. Class ini memiliki satu opsi tata letak, setScaleMode(), yang memungkinkan Anda mencetak dengan salah satu dari dua opsi:

  • SCALE_MODE_FIT - Ini mengubah ukuran gambar sehingga keseluruhan gambar ditunjukkan dalam area laman yang dapat dicetak.
  • SCALE_MODE_FILL - Ini menskalakan gambar agar memenuhi seluruh area laman yang bisa dicetak. Memilih ini berarti beberapa bagian dari tepi atas dan bawah, atau kiri dan kanan gambar tidak dicetak. Opsi ini adalah nilai default jika mode skala tidak ditetapkan.

Kedua opsi penskalaan untuk setScaleMode() mempertahankan rasio lebar tinggi gambar yang ada tetap utuh. Contoh kode berikut menunjukkan cara membuat instance dari class PrintHelper, menyetel opsi penskalaan, dan mulai proses pencetakan:

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);
}

Metode ini dapat dipanggil sebagai tindakan untuk item menu. Perhatikan bahwa item menu untuk tindakan yang tidak selalu didukung (misalnya pencetakan) harus ditempatkan dalam menu tambahan. Untuk selengkapnya informasi, lihat desain Panel Tindakan kami.

Setelah metode printBitmap() dipanggil, aplikasi Anda tidak perlu melakukan tindakan apa pun. Antarmuka pengguna cetak Android muncul, memungkinkan pengguna untuk memilih {i>printer<i} dan opsi pencetakan. Kemudian, pengguna dapat mencetak gambar atau membatalkan tindakan. Jika pengguna memilih untuk mencetak gambar, tugas pencetakan akan dibuat dan notifikasi pencetakan akan muncul di bilah sistem.

Jika Anda ingin menyertakan konten tambahan pada hasil cetak selain gambar, Anda harus membuat dokumen cetak. Guna mengetahui informasi tentang cara membuat dokumen untuk dicetak, lihat Mencetak dokumen HTML atau Mencetak dokumen kustom pelajaran ini.