Стиль - Style

digraph geometry { node [shape="box", style=filled, fillcolor="lightgray"] rankdir=LR labelloc="t"; label="Иерархия классов стилей геометрических объектов:"; Style [ href="#ref-label-style-class" ]; PointStyle [ href="#ref-label-pointstyle-class" ]; LineStyle [ href="#ref-label-linestyle-class" ]; PolygonStyle [ href="#ref-label-polygonstyle-class" ]; TextStyle [ href="#ref-label-textstyle-class" ]; CollectionStyle [ href="#ref-label-collectionstyle-class" ]; Style -> PointStyle; Style -> LineStyle; Style -> PolygonStyle; Style -> TextStyle; Style -> CollectionStyle; }
class axipy.da.Style

Абстрактный класс стиля оформления геометрического объекта.

Определяет как будет отрисован геометрический объект.

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

to_mapinfo()

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

Пример:

style.to_mapinfo()

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

str

Стиль точек - PointStyle

class axipy.da.PointStyle

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

Стиль оформления точечных объектов.

По умолчанию создается стиль на базе шрифта True Type, а параметры аналогичны значениям по умолчанию в методе create_mi_font().

Поддерживается 3 вида оформления:

  • Совместимое с MapInfo версии 3. Для создания такого стиля необходимо использовать create_mi_compat().

  • На базе шрифтов True Type. Задано по умолчанию. Стиль создается посредством create_mi_font().

  • На базе растрового файла. Стиль можно создать с помощью create_mi_picture().

static create_mi_compat(symbol=35, color=PySide2.QtCore.Qt.GlobalColor.red, pointSize=8)

Создание стиля в виде совместимого с MapInfo 3.

Параметры
  • symbol (int) – Номер символа, который будет отображен при отрисовке. Для создания невидимого символа используйте значение 31. Стандартный набор условных знаков включает символы от 31 до 67,

  • color (QColor) – Цвет символа

  • pointSize (int) – Целое число, размер символа в пунктах от 1 до 48.

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

../_images/style_point_mi3.png

Подробнее: Стиль MapInfo

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

PointStyle

static create_mi_font(symbol=35, color=PySide2.QtCore.Qt.GlobalColor.red, size=8, fontname='Axioma MI MapSymbols', fontstyle=0, rotation=0.0)

Создание стиля на базе шрифта True Type.

Параметры
  • symbol (int) – Целое, имеющее значение 31 или больше, определяющее, какой используется символ из шрифтов TrueType. Для создания невидимого символа используйте значение 31.

  • color (QColor) – Цвет символа

  • pointSize – Целое число, размер символа в пунктах от 1 до 48;

  • fontname (str) – Строка с именем шрифта TrueType (например, значение по умолчание „Axioma MI MapSymbols“)

  • fontstyle (int) – Стиль дополнительного оформления, например, курсивный текст. Возможные параметры см. в таблице ниже. Для указания нескольких параметров их суммируют между собой.

  • rotation (float) –

    Угол поворота символа в градусах.

    Возможные значения параметра fontstyle

    Значение

    Наименование

    0

    Обычный текст

    1

    Жирный текст

    16

    Черная кайма вокруг символа

    32

    Тень

    256

    Белая кайма вокруг символа

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

../_images/style_point_mi_tt.png

Подробнее: Стиль True Type

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

PointStyle

static create_mi_picture(filename, color=PySide2.QtCore.Qt.GlobalColor.black, size=12, customstyle=0)

Создание стиля с ссылкой на растровый файл.

Параметры
  • filename (str) – Наименование растрового файла. Строка до 31 символа длиной. Данный файл должен находится в каталоге CustSymb с ресурсами. Например, “Arrow.BMP”.

  • color (QColor) – Цвет символа.

  • size (int) – Размер символа в в пунктах от 1 до 48.

  • customstyle (int) –

    Задание дополнительных параметров стиля оформления.

    Возможные значения параметра customstyle

    Значение

    Наименование

    0

    Флажки Фон и Покрасить одним цветом не установлены. Символ показывается стандартно. Все белые точки изображения становятся прозрачными и под ними видны объекты Карты.

    1

    Установлен флажок Фон; все белые точки изображения становятся непрозрачными.

    2

    Установлен флажок Покрасить одним цветом все не белые точки изображения красятся в цвет символа.

    3

    Установлены флажки Фон и Покрасить одним цветом.

Подробнее: Стиль растрового символа

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

PointStyle

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

class axipy.da.LineStyle(pattern=2, color=PySide2.QtCore.Qt.GlobalColor.black, width=1)

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

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

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

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

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

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

../_images/style_line.png

Подробнее: Стиль линейных объектов

Стиль полигонов - 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) – Цвет обводки. По умолчанию обводка отсутствует.

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) – Толщина линии.

Стиль текста - TextStyle

class axipy.da.TextStyle(fontname, size, style=0, forecolor=PySide2.QtCore.Qt.GlobalColor.black, backcolor=PySide2.QtCore.Qt.GlobalColor.transparent)

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

Стиль текстового объекта.

Параметры
  • fontname (str) – Наименование шрифта.

  • size (int) – Размер шрифта в пунктах. Может принимать значение 0 для подписей в окне карты, так как они являются атрибутами карты и их размер определяется динамически.

  • style (int) – Дополнительные параметры стиля. Подробнее см. в таблице ниже.

  • color – Цвет шрифта

  • backcolor (QColor) –

    Цвет заднего фона, если он задан.

    Возможные значения параметра style

    Значение

    Наименование

    0

    Обычный

    1

    Жирный

    2

    Курсив

    4

    Подчеркнутый

    16

    Контур (только для Macintosh)

    32

    Тень

    256

    Кайма

    512

    Капитель

    1024

    Разрядка

Подробнее: Стиль текста

Стиль коллекций - CollectionStyle

class axipy.da.CollectionStyle

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

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

Данный стиль представляет собой контейнер стилей. может применяться в купе с геометрическим объектом типа разнородная коллекция axipy.da.Collection. Для задания или переопределения стилей простейших объектов, необходимо вызывать соответствующие методы для необходимых типов объектов.

for_line(style)

Задание стиля для линейных объектов LineStyle.

for_point(style)

Задание стиля для точечных объектов PointStyle.

for_polygon(style)

Задание стиля для полигональных объектов PolygonStyle.

for_text(style)

Задание стиля для текстовых объектов TextStyle.