LineStyle - Стиль линий

class axipy.LineStyle

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

Стиль линейного объекта, совместимый с MapInfo.

Параметры:
  • pattern – Тип линии. Типы линий обозначаются кодами от 1 до 118. Тип 1 представляет собой невидимую линию.

  • color – Цвет линии

  • width – Толщина линии. Задается числом от 0 до 7, при этом линия нулевой ширины невидима на экране. 11-2047 - это значения, которые могут быть преобразованы в пункты: ширина линии = (число пунктов * 10) + 10 Значение 0 допустимо только для типа линии 1 или невидимых линий.

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

../../../_images/style_line.png
Пример.
style = LineStyle(3, Qt.red)

Конструктор класса:

__init__([pattern, color, width])

Создает экземпляр класса.

Классовые методы:

for_geometry(geom)

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

from_mapinfo(mapbasic_string)

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

Свойства:

color

Цвет линии.

pattern

Номер стиля линии.

width

Толщина линии.

Методы:

clone()

Создаёт копию объекта стиля

draw(geometry, painter)

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

to_mapinfo()

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

__init__(pattern: int = 2, color: QColor = Qt.black, width: int = 1)

Создает экземпляр класса.

clone() Style

Создаёт копию объекта стиля

property color: QColor

Цвет линии.

draw(geometry: Geometry, painter: QPainter)

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

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

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

Пример отрисовки в растре и сохранение результата в файле.
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: Geometry) Style

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

Параметры:

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

classmethod from_mapinfo(mapbasic_string: str) Optional[Style]

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

Параметры:

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

style = Style.from_mapinfo("Pen (1, 2, 0) Brush (8, 255)")
property pattern: int

Номер стиля линии.

to_mapinfo() str

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

print(style.to_mapinfo())
'''
>>> Pen (1, 2, 0) Brush (8, 255)
'''
property width: int

Толщина линии.