การพิมพ์รูปภาพ

การถ่ายและการแชร์รูปภาพเป็นการใช้งานยอดนิยมอย่างหนึ่งในอุปกรณ์เคลื่อนที่ หากแอปพลิเคชันของคุณ ถ่ายภาพ แสดง หรืออนุญาตให้ผู้ใช้แชร์รูปภาพ คุณควรพิจารณาเปิดใช้การพิมพ์ รูปภาพเหล่านั้นในแอปพลิเคชัน ไลบรารีการสนับสนุนของ Android มีฟังก์ชันที่สะดวกสำหรับการเปิดใช้การพิมพ์รูปภาพโดยใช้ ใช้โค้ดเพียงเล็กน้อยและชุดตัวเลือกการจัดวางการพิมพ์ที่เรียบง่าย

บทเรียนนี้แสดงวิธีพิมพ์รูปภาพโดยใช้ชั้นเรียน PrintHelper ไลบรารีการสนับสนุนเวอร์ชัน 4

พิมพ์รูปภาพ

ชั้นเรียน PrintHelper ของ Android Support Library วิธีง่ายๆ ในการพิมพ์ภาพ ชั้นเรียนมีตัวเลือกเลย์เอาต์รายการเดียว นั่นคือ setScaleMode() ซึ่งช่วยให้คุณสามารถพิมพ์ด้วยตัวเลือกใดตัวเลือกหนึ่งต่อไปนี้

  • SCALE_MODE_FIT - นี้ ตัวเลือกจะกำหนดขนาดรูปภาพเพื่อให้ทั้งรูปภาพแสดงภายในพื้นที่ที่พิมพ์ได้ของหน้า
  • SCALE_MODE_FILL - นี้ ปรับขนาดรูปภาพให้เต็มพื้นที่ที่พิมพ์ได้ของหน้า กำลังเลือกตัวเลือกนี้ หมายความว่ามีบางส่วนของพื้นที่ด้านบนและด้านล่าง หรือขอบด้านซ้ายและขวาของรูปภาพ ไม่ได้พิมพ์ ตัวเลือกนี้เป็นค่าเริ่มต้นหากไม่ได้ตั้งค่าโหมดการปรับขนาดไว้

ตัวเลือกการปรับขนาดทั้ง 2 รายการสำหรับ setScaleMode() จะคงสัดส่วนภาพเดิมของรูปภาพไว้ ตัวอย่างโค้ดต่อไปนี้ แสดงวิธีสร้างอินสแตนซ์ของคลาส PrintHelper โดยตั้งค่า ตัวเลือกการปรับขนาด แล้วเริ่มกระบวนการพิมพ์ดังนี้

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

วิธีการนี้สามารถเรียกได้ว่าเป็นการดำเนินการสำหรับรายการในเมนู โปรดทราบว่ารายการในเมนูสำหรับการดำเนินการที่ ไม่ควรวางอยู่ในเมนูรายการเพิ่มเติมเสมอไป (เช่น การพิมพ์) สำหรับข้อมูลเพิ่มเติม โปรดดูข้อมูลเพิ่มเติมที่รูปแบบแถบการทำงาน

หลังจากเมธอด printBitmap() คือ เรียกใช้ คุณไม่จำเป็นต้องดำเนินการใดๆ เพิ่มเติมจากแอปพลิเคชันของคุณ อินเทอร์เฟซผู้ใช้การพิมพ์ของ Android จะปรากฏขึ้น เพื่อให้ผู้ใช้สามารถเลือกเครื่องพิมพ์และตัวเลือกการพิมพ์ จากนั้นผู้ใช้สามารถพิมพ์ หรือยกเลิกการดำเนินการ หากผู้ใช้เลือกที่จะพิมพ์รูปภาพ ระบบจะสร้างงานพิมพ์ขึ้น การแจ้งเตือนการพิมพ์จะปรากฏในแถบระบบ

หากต้องการใส่เนื้อหาเพิ่มเติมในงานพิมพ์ นอกเหนือจากรูปภาพ สร้างเอกสารพิมพ์ โปรดดูข้อมูลเกี่ยวกับการสร้างเอกสารสำหรับพิมพ์ที่ การพิมพ์เอกสาร HTML หรือ การพิมพ์เอกสารที่กำหนดเอง ของเรา