طباعة الصور

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

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

طباعة صورة

يوفّر الصف PrintHelper في مكتبة دعم Android طريقة بسيطة لطباعة الصور. تتضمّن الفئة خيار تنسيق واحدًا، وهو 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 أو طباعة مستند مخصّص الدروس.