PolygonStyle - Стиль полигонов

class axipy.da.PolygonStyle(pattern=1, color=PySide2.QtCore.Qt.GlobalColor.white, pattern_pen=1)

Базовые классы: axipy.da.Style

Стиль площадного объекта. По умолчанию создается прозрачный стиль с черной окантовкой.

Пример.
# Создадим стиль по умолчанию
plstyle = PolygonStyle()
print(plstyle.to_mapinfo())
# Назначим цвет заливки и фона заливки
plstyle.set_brush(color=Qt.green, bgColor=Qt.blue)
print(plstyle.to_mapinfo())
# Установим обводку
plstyle.set_pen(color=Qt.black)
print(plstyle.to_mapinfo())
'''
>>> Brush (1, 16777215)
>>> Brush (1, 65280, 255)
>>> Pen (1, 2, 0)  Brush (1, 65280, 255)
'''
Параметры
  • pattern (int) – Номер стиля заливки.

  • color (QColor) – Цвет основной заливки.

  • pattern_pen (int) – Цвет обводки. По умолчанию обводка отсутствует.

Methods:

draw(geometry, painter)

Рисует геометрический объект с текущим стилем в произвольном контексте вывода.

for_geometry(geom)

Возвращает стиль по умолчанию для переданного объекта.

from_mapinfo(mapbasic_string)

Получает стиль из строки формата MapBasic.

set_brush([pattern, color, bgColor])

Задание стиля заливки площадного объекта.

set_pen([pattern, color, width])

Задание стиля обводки.

to_mapinfo()

Возвращает строковое представление в формате MapBasic.

draw(geometry, painter)

Рисует геометрический объект с текущим стилем в произвольном контексте вывода. Это может быть востребовано при желании отрисовать геометрию со стилем на форме или диалоге.

Параметры
  • geometry (Geometry) – Геометрия. Должна соответствовать стилю. Т.е. если объект полигон, а стиль для рисования точечных объектов, то ничего нарисовано не будет.

  • painter (QPainter) – Контекст вывода.

Пример отрисовки в растре и сохранение результата в файле.
image = QImage(100, 100, QImage.Format_ARGB32_Premultiplied)
image.fill(Qt.white)
painter = QPainter(image)
point = Point(50,50)
style = PointStyle.create_mi_font(42, Qt.red, 24)
style.draw(point, painter)
image.save(filename)
classmethod for_geometry(geom)

Возвращает стиль по умолчанию для переданного объекта.

Параметры

geom (Geometry) – Геометрический объект, для которого необходимо получить соответствующий ему стиль.

Тип результата

Style

classmethod from_mapinfo(mapbasic_string)

Получает стиль из строки формата MapBasic.

Параметры

mapbasic_string (str) – Строка в формате MapBasic.

style = Style.from_mapinfo("Pen (1, 2, 0) Brush (8, 255)")
Тип результата

Style

set_brush(pattern=1, color=PySide2.QtCore.Qt.GlobalColor.white, bgColor=PySide2.QtCore.Qt.GlobalColor.transparent)

Задание стиля заливки площадного объекта.

Параметры
  • pattern (int) – Номер стиля заливки. Шаблон задается числом от 1 до 71, при этом в шаблоне с номером 1 оба цвета отсутствуют, а в шаблоне 2 отсутствует цвет фона. Шаблоны с кодами 9-11 зарезервированы для внутренних целей.

  • color (QColor) – Цвет основной заливки.

  • bgColor (QColor) – Цвет заднего фона, если заливка неполная.

В системе доступны следующие стили заливки:

../../../_images/style_fill.png

Подробнее: Стиль заливки полигона

set_pen(pattern=2, color=PySide2.QtCore.Qt.GlobalColor.black, width=1)

Задание стиля обводки. Параметры аналогичны при задании стиля линии LineStyle()

Параметры
  • pattern (int) – Номер стиля линии.

  • color (QColor) – Цвет линии

  • width (int) – Толщина линии.

to_mapinfo()

Возвращает строковое представление в формате MapBasic.

style.to_mapinfo()
'''
>>> Pen (1, 2, 0) Brush (8, 255)
'''
Тип результата

str