طباعة الصور

يعد التقاط الصور ومشاركتها أحد الاستخدامات الأكثر شيوعًا لأجهزة الجوّال. إذا التقط تطبيقك صورًا أو يعرضها أو يسمح للمستخدمين بمشاركة الصور، يجب تفعيل طباعة هذه الصور في تطبيقك. توفّر مكتبة دعم Android وظيفة ملائمة لتفعيل طباعة الصور باستخدام أقل قدر من الرموز ومجموعة بسيطة من خيارات تنسيق الطباعة.

يوضح لك هذا الدرس كيفية طباعة صورة باستخدام صف PrintHelper في مكتبة دعم الإصدار 4.

طباعة صورة

توفّر فئة "مكتبة دعم Android" PrintHelper طريقة بسيطة لطباعة الصور. يتوفّر في الصف خيار تنسيق واحد، وهو setScaleMode()، الذي يتيح لك الطباعة باستخدام أحد الخيارَين التاليَين:

  • SCALE_MODE_FIT: يؤدي هذا الخيار إلى تحديد حجم الصورة بحيث يتم عرضها بالكامل ضمن المنطقة القابلة للطباعة من الصفحة.
  • SCALE_MODE_FILL: يؤدي هذا الخيار إلى ضبط حجم الصورة بحيث تملأ المنطقة القابلة للطباعة بالكامل من الصفحة. يعني اختيار هذا الإعداد أنّ جزءًا من الصورة لا تتم طباعتها من أعلى وأسفل الحافتين العلوية والسفلية أو اليسرى واليمنى. هذا الخيار هو القيمة التلقائية إذا لم يتم ضبط وضع قياس.

يؤدي خيارا تغيير الحجم 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 أو طباعة مستند مخصّص.