axioma.render.
RasterReportItem
¶Элемент отчета, основанный на созданной растровом слое. Т.е. перед созданием элемента отчета необходимо предварительно создать растровый слой на базе локального файла или же растра, размещенного на Web ресурсе. И уже на основе этого слоя создать элемент отчета.
Унаследован от: ReportItem
RasterReportItem
(layer, rect, report, perserveAspectRatio=True)¶Конструктор
Параметры:
- layer (
RasterLayer
) – Растровый слой, на основании которого создается элемент отчета.- rect (
QRectF
) – Прямоугольник элемента отчета в координатах отчета.- report (
Report
) – Отчет, к которому относится создаваемый элемент.- perserveAspectRatio (
bool
) – Сохранять исходное соотношение размеров растра. По-умолчанию True
RasterReportItem
(layer, rect, report, perserveAspectRatio=True)Конструктор
Параметры:
- layer (
RasterLayer
) – Растровый слой, на основании которого создается элемент отчета.- viewPort (
Viewport
) – Задание Viewport области видимости растра и его размер в отчете.- report (
Report
) – Отчет, к которому относится создаваемый элемент.- perserveAspectRatio (
bool
) – Сохранять исходное соотношение размеров растра. По-умолчанию True
viewport
()¶Установленное соотношение области растра и его размеров в отчете
Результат: Установленное значение Viewport Тип результата: Viewport
setViewport
(vp)¶Установка нового значения Viewport для элемента отчета
Параметры: vp ( Viewport
) – Новое значение
layer
()¶Растровый слой, на основании которого создается элемент отчета.
Результат: Ссылка на переданный в конструктор растровый слой Тип результата: RasterLayer
Пример использования:
# Импорт from axioma.render import * from axioma.mapinfo import * from axioma.core.dp import * # Создание элемента отчета типа растр из URL. Для локального файла использовать FileDefinition вместо WebDefinition def createRasterItem(report): print('Растр...') dp = axioma.app.gui.dataProviderById("GdalDataProvider") # находим необходимый провайдер url = "https://upload.wikimedia.org/wikipedia/en/7/72/World_Map_WSF.svg.png" # Исходный растр if dp is not None: try: definition = WebDefinition(QUrl(url)) rds = dp.openDataSource(definition) # Создаем источник данных obj = rds.openDataObject() # Создаем объект типа растр if (isinstance(obj, Raster)): lay = RasterLayer(obj) # Создаем растровый слой на базе существующего объекта rraster = QRectF(130, 0, 210, 145) rasterItem = RasterReportItem(lay, rraster, report) report.addItem(rasterItem) # Добавляем в отчет else: print('Объект не является растром. Что то пошло не так') except Exception as ex: print(ex)