Стиль заливки

Вопросы связанные с работой ГИС Аксиома
Ответить
Аватара пользователя
Martinello
Пользователь
Сообщения: 40
Зарегистрирован: 06 дек 2023, 10:05

Стиль заливки

Сообщение Martinello » 15 мар 2024, 15:17

Добрый!
Подскажите, есть ли возможность добавить стили заливки в аксиому? И есть ли какие то дополнительные наборы таких стилей?
Аватара пользователя
Александр
Администратор
Сообщения: 621
Зарегистрирован: 18 апр 2019, 11:21

Re: Стиль заливки

Сообщение Александр » 17 мар 2024, 12:50

Добавить стили заливок можно.
Посмотрите этот ответ:
https://forum.axioma-gis.ru/viewtopic.php?t=3878#p4913

В настоящее время мы предлагаем только стандартный набор заливок, дополнительные наборы заливок отсутствуют.
Аватара пользователя
gisamap
Пользователь
Сообщения: 442
Зарегистрирован: 18 окт 2019, 11:03

Re: Стиль заливки

Сообщение gisamap » 17 мар 2024, 14:14

Добрый день.
Стандартные заливки хранятся в \share\axioma\MapInfoStyles\Brush\ в папке где установлена Axioma .
Необходимо создать xpm , так как описано в viewtopic.php?t=3878#p4913 и добавить файл в директорию - имя по маске pat***.xpm

Теоретический - как я понимаю с помощью плагина "Каталог стилей" б можно создать пользовательскую директорию и сформировать свои стили заливок .
Аватара пользователя
Владимир В
Пользователь
Сообщения: 26
Зарегистрирован: 25 мар 2024, 09:54

Re: Стиль заливки

Сообщение Владимир В » 08 ноя 2024, 12:08

Добрый день.
Как программно найти объекты с установленной галочкой прозрачного фона в стиле заливки с последующим сбросом.
Аватара пользователя
gisamap
Пользователь
Сообщения: 442
Зарегистрирован: 18 окт 2019, 11:03

Re: Стиль заливки

Сообщение gisamap » 08 ноя 2024, 13:23

Добрый день.
Как я понял из документации - явным образом ни как . Вопрос к разработчикам .
Но решить проблему можно
Если стиль с заливкой то при преобразовании to_mapinfo() получите Brush (5, 0) ( первое значение номер патерна заливки , вторая цвет ) , при наличии не прозрачной заливки стиль в формате MapInfo будет Brush (4, 0, 16777215) , третье значение цвет фона
Владимир В писал(а): 08 ноя 2024, 12:08 Добрый день.
Как программно найти объекты с установленной галочкой прозрачного фона в стиле заливки с последующим сбросом.
Аватара пользователя
Александр
Администратор
Сообщения: 621
Зарегистрирован: 18 апр 2019, 11:21

Re: Стиль заливки

Сообщение Александр » 09 ноя 2024, 12:18

Прозрачный фон заливки задаётся через прозрачный цвет фона заливки.
Ниже приведён пример, как программно найти объекты с установленной галочкой прозрачного фона в стиле заливки и установить всем таким объектам красный фон.

Code: Select all

import axipy
import typing
from PySide2 import QtGui

# Получаем первую таблицу из менеджера данных
if not axipy.data_manager.tables:
print("Нет доступных таблиц.")
else:
table = axipy.data_manager.tables[0]

# Проходим по всем записям в таблице
for feature in table.items():
# Получаем стиль текущего объекта
style = feature.style

# Проверяем, что стиль является экземпляром PolygonStyle
if isinstance(style, axipy.PolygonStyle):
# Получаем параметры заливки стиля
fill = style.fill

# Проверяем, что шаблон заливки больше 2 и фон прозрачный
if fill.pattern > 2 and fill.bg_color.alpha() == 0:
# Устанавливаем цвет фона на красный
fill.bg_color = QtGui.QColorConstants.Red

# Обновляем объект в таблице с изменениями стиля
table.update(feature)
Ответить