چاپ عکس

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

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

چاپ یک تصویر

کلاس Android Support Library PrintHelper یک راه ساده برای چاپ تصاویر ارائه می دهد. کلاس دارای یک گزینه layout setScaleMode() است که به شما امکان می دهد با یکی از دو گزینه چاپ کنید:

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

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

کاتلین

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

این روش را می توان به عنوان عمل برای یک آیتم منو نامید. توجه داشته باشید که موارد منو برای اقداماتی که همیشه پشتیبانی نمی شوند (مانند چاپ) باید در منوی سرریز قرار داده شوند. برای اطلاعات بیشتر، راهنمای طراحی Action Bar را ببینید.

پس از فراخوانی متد printBitmap() ، هیچ اقدام دیگری از برنامه شما لازم نیست. رابط کاربری چاپ اندروید ظاهر می شود و به کاربر امکان می دهد چاپگر و گزینه های چاپ را انتخاب کند. سپس کاربر می تواند تصویر را چاپ کند یا عمل را لغو کند. اگر کاربر چاپ تصویر را انتخاب کند، یک کار چاپ ایجاد می شود و یک اعلان چاپ در نوار سیستم ظاهر می شود.

اگر می خواهید محتوای بیشتری را در چاپ های خود بگنجانید، فراتر از یک تصویر، باید یک سند چاپی بسازید. برای اطلاعات در مورد ایجاد اسناد برای چاپ، به درس های چاپ یک سند HTML یا چاپ یک سند سفارشی مراجعه کنید.