In ảnh

Chụp và chia sẻ ảnh là một trong những cách phổ biến nhất dành cho thiết bị di động. Nếu ứng dụng của bạn chụp ảnh, hiển thị ảnh hoặc cho phép người dùng chia sẻ hình ảnh, bạn nên cân nhắc việc bật tính năng in của những hình ảnh đó trong ứng dụng của bạn. Thư viện hỗ trợ Android cung cấp một chức năng thuận tiện cho phép in hình ảnh bằng số lượng mã tối thiểu và tập hợp các tuỳ chọn bố cục in đơn giản.

Bài học này sẽ hướng dẫn bạn cách in hình ảnh bằng lớp PrintHelper của thư viện hỗ trợ v4.

In hình ảnh

Lớp PrintHelper của Thư viện hỗ trợ Android cung cấp giúp bạn dễ dàng in hình ảnh. Lớp có một tuỳ chọn bố cục duy nhất là setScaleMode(), cho phép bạn in bằng một trong hai tuỳ chọn:

  • SCALE_MODE_FIT – Nội dung này tuỳ chọn định cỡ hình ảnh sao cho toàn bộ hình ảnh hiển thị trong vùng in được trên trang.
  • SCALE_MODE_FILL – Nội dung này điều chỉnh tỷ lệ hình ảnh để hình ảnh lấp đầy toàn bộ vùng in được trên trang. Đang chọn mục này nghĩa là một số phần ở phần trên cùng và dưới cùng hoặc cạnh trái và phải của hình ảnh chưa được in. Tuỳ chọn này là giá trị mặc định nếu bạn không đặt chế độ tỷ lệ.

Cả hai tuỳ chọn điều chỉnh tỷ lệ cho setScaleMode() đều giữ nguyên tỷ lệ khung hình hiện tại của hình ảnh. Ví dụ về mã sau đây cho biết cách tạo một thực thể của lớp PrintHelper, đặt giá trị điều chỉnh tỷ lệ và bắt đầu quá trình in:

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

Phương thức này có thể được gọi dưới dạng thao tác cho một mục trong trình đơn. Xin lưu ý rằng các mục trong trình đơn cho những thao tác không phải lúc nào cũng được hỗ trợ (chẳng hạn như in) phải được đặt trong trình đơn mục bổ sung. Để biết thêm thông tin, hãy xem thiết kế của Thanh hành động của chúng tôi.

Sau phương thức printBitmap() là , bạn không cần làm gì thêm từ ứng dụng của mình. Giao diện người dùng của Android Print xuất hiện, cho phép người dùng chọn máy in và các tuỳ chọn in. Sau đó, người dùng có thể in hoặc huỷ thao tác. Nếu người dùng chọn in hình ảnh, lệnh in sẽ được tạo và thông báo in sẽ xuất hiện trên thanh hệ thống.

Nếu bạn muốn đưa nội dung khác vào bản in ngoài hình ảnh, bạn phải tạo tài liệu in. Để biết thông tin về cách tạo tài liệu để in, hãy xem In tài liệu HTML hoặc In một tài liệu tuỳ chỉnh bài học.