image - PO-21/QtReports GitHub Wiki

Image Attributes

scaleImage -

указывает на то, как должно быть вынесено изображение, если его фактический размер не подходит под размер элемента отчета изображения. Это происходит по тому, что много изображений загружаются во время выполнения, и нет никакого способа узнать их точного размера при создании шаблона отчета. Возможные значение для этого атрибута:

  • Отсечение изображения: Если фактическое изображение большего, чем размер элемента image, то он будет отрезан так чтобы она сохранила свое первоначальное разрешение, и только область, которой соответствует указанный размер будет отображаться (scaleImage = "Clip").
  • Принудительный размер изображения: Если размеры фактического изображения не соответствуют указанным для элемента image, который отображается его, изображение будет растягиваться так, что оно будет подходить в обозначенную область вывод. Изображение будет искаженно при необходимости (scaleImage = "FillFrame").
  • Сохранение пропорций изображения: Если фактическое изображение не помещается в элемент image, оно может быть адаптирован к этим размерам, сохраняя при этом свои первоначальные недеформированные пропорции (scaleImage = "RetainShape").
  • Растягивание изображения, сохраняя ширину: Изображение может быть вытянуто по вертикали, чтобы соответствовать фактической высоте изображения, в то время как регулирую ширину элемента изображения, чтобы соответствовать фактической ширине изображения (scaleImage = "RealSize").

Если тип scaleImage - "Clip" или "RetainShape",

и фактическое изображение меньше его заданного размера в шаблоне отчета или не имеют те же пропорции, изображение не может занимать все пространство, выделенное ему в шаблоне отчета. В таких случая, вы можете изображение внутри заранее заданного пространства отчетов с помощью "Align" и атрибута VALIGN, который определяют выравнивание изображения по горизонтальной оси (Left, Center, Right) и вертикальной (Top, Middle, Bottom). По умолчанию изображение выравнивают по верхней и левой внутренней границе.

Все элементы изображения имеют динамическое содержимое.

Однако изображения в отчете статическое и не обязательно исходит от источника данных или из параметров. Как правило, они загружаются из файлов на диске и представляют собой логотипы и другие статические ресурсы. Чтобы отобразить одно изображение несколько раз в отчете ( например, логотип появляется в заголовке страниц), можно кэшировать изображение для лучшей производительности. Когда будет установлен атрибут isUsingCache как "TRUE", обработчик отчетности будет пытаться рапознать ранее загруженные изображения, используя их указанный источник. Эта функция кэширования для элементов изображения, чьи выражения возвращают обьекты любого типа в качестве источника изображения. Флаг isUsingCache устанавливается как "TRUE" по умолчанию для изображений, имеющих String выражения и как "FALSE" для всех остальных типов. Ключ, используемый для кэша, является значением выражения исходного изображения; ключевые сравнения выполняются с использованием стандартного метода EQUALS. Как следствие, для изображений, имеющих источник InputStream с выключенным кэшированием входной поток считывается только один раз, а затем изображение будет браться из кэша. Флаг isUsingCache не следует устанавливать в тех случаях, когда изображение имеет динамический источник (например, изобаржение загружается из бинарного поля базы данных для каждой строки), потому что изображения будут накапливаться в кэше и заполнение прекратится из-за ошибки, связанной с отсутствием памяти. Очевидно, что флаг не должен также быть установлен, когда один источник используется для получения различных изображений (например, URL-адрес, который будет возвращать другое изображение каждый раз, когда это доступно).

isLazy -

Флаг,который определят, должно ли быть загружено изображение и обрабатывается при заполнении отчета или во время экспорта, в случае, если изображение не доступно по время заполнения. По умолчанию этот флаг установлен в "false". Если установлено значение "true", изображение сохраняется во время заполнения вместо самого изображения, и в процессе экспортирования изображение будет загружено с места для чтения с пути.

По разным причинам,

изображение может быть недоступно, когда обработчик пытается загрузить его либо в отчете заполнения или во время экспорта, особенно если изображение загружается из какого-то публичного URL. По этой причине вы можете настроить обработчик, обрабатывающий отсутствующие изображения во время создания отчета. Атрибуты OnErrorType для изображений позволяет это. Он может принимать следующие значения:

  • Ошибка: Возникает исключение, если обработчик не может загрузить изображение (OnErrorType="Error").
  • Бланк: Любое исключение image-loading игнорируется, и ничего не будет отображаться в созданном документе (OnError Type="Blank").
  • Значок: Если изображение не загружается успешно, то обработчик поставит небольшой значок в документе, чтобы указать, что фактическое изображение отсутствует (OnErrorType="Icon").

Как и в случае с текстовыми полями,

вы можете отложить вычисление выражения изображения, которое по умолчанию выполняется медленно. Это позволяет отображать в документе изображения, которое будут построены или выбраны позднее в процессе заполнения отчета. Атрибут evaluationTime может принимать следующие значения:

  • Непосредственной оценки: изображения выражение вычисляется, когда заполняется текущий диапазон (evaluationTime="Now").
  • Конец отчета оценки: изображения выражение вычисляется при достижении конца отчета (`evaluationTime="Report").
  • Конец страницы отчета: изображения выражение вычисляет при достижении конца текущей страницы (evaluationTime="Page").
  • Конца столбца оценки: по достижении конца текущего столбца вычисляется выражение изображения (`evaluationTime="Column").
  • Конец группы оценки: изображения выражения вычисляется при группе путем изменения атрибута evaluationGroup (evaluatonTime="Group").
  • Авто оценки: каждой переменной, участвующих в выражении изображения оцениваются в то время, соответствующий типу его сброс. В настоящее время оцениваются поля (evaluationTime="Auto").

evaluationGroup

  • группа участвует в процессе оценки изображения, когда атрибут оценки времени устанавливается в группе.

Image Espression

Значение, возвращаемое image expression, является источником для изображения, которое будет отображаться. Image expression вводится с помощью элемента <imageExpression/> и могут возвращать значения только из ограниченного диапазона классов, перечисленных следующим образом:

  • String
  • File
  • URL
  • Image
  • net.sf.jasperrepirt.engine.JRRenderable

Пример

<image scaleImage="Clip" onErrorType="Icon" isLazy="true">

<reportElement x="0" y="0" width="150" height="40" />

<imageExpression class="java.lang.String"><![CDATA["http://.....//image.png"]]></imageExpression>

</image>

⚠️ **GitHub.com Fallback** ⚠️