image tag - PO-31/QtReports-OLD GitHub Wiki

Image Attributes

scaleImage

  • указывает на то, как должно быть вынесено изображение, если его фактический размер не подходит под размер элемента отчета изображения. Это происходит потому, что много изображений загружается во время выполнения, и нет никакого способа узнать их точного размера при создании шаблона отчета. Возможные значение для этого атрибута:
  • Отсечение изображения: Если размер изображение имеет больший размер чем выделенная область, то изображение не изменит свой размер, а будет отображаться лишь частично (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>
    <reportElement x="170" y="0" width="425" height="200" />
    <imageExpression class="QString"><![CDATA[$F{image}]]></imageExpression>
  </image>
⚠️ **GitHub.com Fallback** ⚠️