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().

Пример.
style_1 = PointStyle.create_mi_compat(color = Qt.blue)
style_2 = PointStyle.create_mi_font(42, Qt.red, 24)
style_3 = PointStyle.create_mi_picture('AMBU-64.bmp')

Methods:

create_mi_compat([symbol, color, pointSize])

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

create_mi_font([symbol, color, size, …])

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

create_mi_picture(filename[, color, size, …])

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

draw(geometry, painter)

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

for_geometry(geom)

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

from_mapinfo(mapbasic_string)

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

to_mapinfo()

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

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=36, 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

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

to_mapinfo()

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

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

str