درحال چاپ عکس‌ها

گرفتن و هم‌رسانی عکس یکی از پرطرفدارترین کاربردهای دستگاه‌های همراه است. اگر برنامه‌تان عکس می‌گیرد، آن‌ها را نمایش می‌دهد، یا به کاربران اجازه می‌دهد تصاویر را هم‌رسانی کنند، باید فعال کردن چاپ آن تصاویر را در برنامه‌تان درنظر بگیرید. کتابخانه پشتیبانی Android عملکرد مناسبی برای فعال کردن چاپ تصویر بااستفاده از حداقل مقدار کد و مجموعه ساده‌ای از گزینه‌های چیدمان چاپ ارائه می‌دهد.

این درس به شما نشان می‌دهد که چگونه بااستفاده از کلاس PrintHelper کتابخانه پشتیبانی v4 تصویری را چاپ کنید.

چاپ کردن تصویر

کلاس PrintHelper «کتابخانه پشتیبانی Android» روشی ساده برای چاپ تصاویر ارائه می‌دهد. کلاس یک گزینه چیدمان دارد، setScaleMode()، که به شما امکان می‌دهد با یکی از دو گزینه چاپ کنید:

  • SCALE_MODE_FIT - این گزینه اندازه تصویر را طوری تغییر می‌دهد که کل تصویر در ناحیه قابل‌چاپ صفحه نشان داده شود.
  • SCALE_MODE_FILL - این گزینه تصویر را به‌گونه‌ای مقیاس‌بندی می‌کند که کل ناحیه قابل‌چاپ صفحه را پر کند. انتخاب این تنظیم به این معنی است که بخشی از بالا و پایین، یا لبه‌های چپ و راست تصویر چاپ نمی‌شود. اگر حالت مقیاس را تنظیم نکنید، این گزینه مقدار پیش‌فرض است.

هر دو گزینه مقیاس‌بندی برای setScaleMode() نسبت ابعادی موجود تصویر را دست‌نخورده نگه می‌دارند. نمونه کد زیر نحوه ایجاد نمونه‌ای از کلاس PrintHelper، تنظیم گزینه مقیاس‌بندی، و شروع فرایند چاپ را نشان می‌دهد:

کاتلین

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

جاوا

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 یا چاپ سند سفارشی مراجعه کنید.