Печать фотографий

Этот урок научит вас

  1. Распечатать изображение

Обмен фотографиями является одним из наиболее популярных видов использования мобильных устройств. Если ваше приложение может делать фотографии, отображать их, или позволяет пользователям обмениваться изображениями, следует также разрешить печать эти изображения из приложения. Библиотека поддержки Android обеспечивает удобную функцию для включения печати изображения, используя минимальное количества кода, и простой набор настроек для печати макетов.

Этот урок покажет вам, как напечатать изображение с помощью библиотеки поддержки v4, используя PrintHelper класс.

Распечатать изображение

Класс библиотеки Поддержки Android PrintHelper предоставляет простой способ печати изображений. Класс имеет один параметр для макета, setScaleMode(), который позволяет печатать, используя одним из двух вариантов:

  • SCALE_MODE_FIT - Эта опция подгоняет размер изображения так, чтобы всё изображение помещалось в пределах области печати страницы.
  • SCALE_MODE_FILL - Эта опция масштабирует изображение так, чтобы оно заполнило всю область печати на странице. Выбор данного параметра означает, что некоторая часть верхней и нижней части, или левого и правого края изображения не напечатается. Эта опция используется по умолчанию, если вы не установите режим масштабирования.

Оба параметра масштабирования для setScaleMode() сохраняют существующее соотношение сторон изображения. В следующем примере кода показано, как создать экземпляр PrintHelper класса, установить опцию масштабирования, и запустить процесс печати:

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 документа или Печать пользовательских документов уроки.