На главную... Продукты | Технологии | Классификаторы | Проекты | Скачать | Цены| Форум | Статьи | Обучение | Контакты

Александр Кружков (Все сообщения пользователя)

Поиск  Пользователи  Правила  Войти
Форум » Пользователи » Александр Кружков
Выбрать дату в календареВыбрать дату в календаре

Страницы: 1 2 3 4 5 6 7 8 9 10 11 ... 146 След.
Программное создание объекта из растра или вектора
 
Данная функция загружает картинку в память. Идентификатором картинки является полное имя картинки (/home/user/img.png). Если несколько объектов ссылаются на одно имя, то и рисуются они одинаково. Для получения разных изображений необходимо в каждый объект записать уникальные имена картинок.
Печать Полигона заполненного знаками
 
Закрыл карту. Удалил "Сущ ФЗ.sit.ini". Открыл карту - цвета стали нормальными.

Способ 2:
Открыть диалог в главном меню: Параметры - Настройка цветов - нажать кнопку "Сброс". При этом палитра устанавливается из классификатора.
Пока не понятно: какие действия привели к изменению палитры пользователя (которая изменяется в диалоге "Настройка цветов" и записывается в INI-файл).

Один из способов искажения палитры карты:
Палитра могла стать такой, если сначала в классификаторе уменьшить число цветов до 16-и (выходит предупреждение о том, что некоторые цвета станут черными), а затем восстановить классификатор. Но при закрытии карты цвета записываются в INI-файл.

Восстановление палитры карты:
При восстановлении палитры классификатора необходимо выполнить сброс цветов в палитре карты (в диалоге "Настройка цветов").
Изменено: Александр Кружков - 06.08.2021 17:05:05
Печать Полигона заполненного знаками
 
Эффект непонятен. Прошу прислать классификатор и карту - проверим.
Изменено: Александр Кружков - 06.08.2021 16:14:57
Печать Полигона заполненного знаками
 
[QUOTE]Пётр Гинтер написал:
переделал заливки в тип цветное стекло и, неожиданно, получил серую карту( можете прокомментировать?[/QUOTE]
В программе есть несколько способов получения изображений: сохранение в виде картинки (Файл - Сохранить как ... формат изображения ***), вывод с помощью драйвера устройства печати (Печать карты - устройство печати *** - формат изображения ***).
Прошу подсказать способ получения картинки и формат вывода.
Печать Полигона заполненного знаками
 
(112 * 100 + 255 * 0) / 100 = 112 - зеленый цвет 100%
(112 * 99 + 255 * 1) / 100 = 113 - расслаблен на 1 % белым цветом
(112 * 75 + 255 * 25) / 100 = 148 - расслаблен на 25 % белым цветом
(112 * 50 + 255 * 50) / 100 = 184 - расслаблен на 50 %
(112 * 25 + 255 * 75) / 100 = 219 - расслаблен на 75 %
(112 * 0 + 255 * 100) / 100 = 255 - белый цвет 100 % (максимальная яркость)

P.S. При использовании "полигон-стекло" для расслабления цвета вместо изменения яркости можно использовать свойство "Прозрачность" (100 - непрозрачный, 50 - полупрозрачный). Программа позволяет установить альтернативную палитру для издания (CMYK). При подготовке к изданию в PDF CMYK заливку "полигон-стекло" использовать не рекомендуется, так как цвет, вычисленный для заливки "полигон-стекло" не будет найден в палитре CMYK (в классификаторе) и может исказиться.
Изменено: Александр Кружков - 06.08.2021 16:27:20
Печать Полигона заполненного знаками
 
Данный объект имеет неудачный вид 50-процентного расслабления цвета: "Полигон, заполненный знаками" (заливка точечным знаком типа "шахматная доска"). При формировании изображения для издания разрешение многократно увеличивается. При этом точечное (растровое) изображение векторизуется: "шахматная доска" преобразуется в узор (линии проходят через все точки растра) - происходит искажение исходной геометрии рисунка. Данный способ позволяет увеличивать изображения устаревших растровых знаков. В настоящее время для заполнения площадных объектов рекомендуется использовать сплошную заливку,  либо векторное знаки (кружки, точки и др.), которые масштабируются с сохранением геометрии рисунка.

В данном случае рекомендуется выполнять заливку сплошным 50-процентным расслабленным цветом.
Если 100-процентная заливка выполняется зеленым цветом (красный = 96, зеленый = 174, синий = 63), то можно вычислить 50-процентный цвет изменением яркости по формуле (x+255) / 2, где x - яркость, 255 - максимальная яркость (белый цвет): (112 + 255) / 2 = 184.
При установке яркости (184) 50-процентный зеленый цвет будет иметь значения: красный = 185, зеленый = 223, синий = 168 (см. второй рисунок).
Данный цвет необходимо добавить в палитру классификатора и заменить вид объекта "Полигон, заполненный знаками" на "Полигон".
Редактор отчета, Редактор отчета (геопорталы)
 
1. Если масштаб основной карты 1:100 000 и она отображается в своем масштабе, то размеры должны соответствовать реальным (на бумаге) при условии правильных параметров экрана (см. главное меню - Параметры - Параметры экрана: Размер экрана = 24 дюйма, Коэффициент увеличения = 100%). Врезка содержит увеличенное изображение (1:50 000) - при этом знаки увеличиваются пропорционально (в 2 раза), либо с запаздыванием. Режим масштабирования устанавливается в главном меню - Параметры - Масштабирование объектов (Картографическое - с запаздыванием, Чертежное - пропорциональное).

2. Для запрета увеличения размера объектов относительно базового масштаба карты в редакторе классификатора необходимо установить коэффициент увеличения размеров знака: Редактор классификатора - закладка Объекты - выбрать объект - закладка Разное (справа снизу) - Увеличивать в = 1.0 (по умолчанию - "Нет ограничения").
Задача "Конструктор отчетов"
 
Редактор отчета и Конструктор отчетов используются для подготовки карты к печати. Сама печать карты обычно выполняется в диалоге "Печать карты". Диалог позволяет выбрать устройство печати и настроить параметры печати (размеры страницы выполняются индивидуально для каждого принтера, с учетом его физических свойств - в том числе и произвольные), масштаб печати и масштаб просмотра. В диалоге может быть выбран схематичный (Схема) или нормальный вид (Карта), который позволяет оценить общую компоновку.
Изменено: Александр Кружков - 12.07.2021 09:23:31
Программное создание объекта из растра или вектора
 
Картинка не поможет. Файл map можно сохранить в формате SXF (при сохранении установить номер сохраняемого объекта в фильтре).
Еще лучше (и проще !!!) пользоваться знаками, описанными в классификаторе карты (RSC). При необходимости знак можно добавить в классификатор в ГИС Панорама и затем создавать нужные знаки, регистрируя объекты с помощью функций:

// Сформировать описание нового объекта по внешнему коду и локализации
// или изменить код существующего объекта на карте
// info - идентификатор объекта карты в памяти
// excode - внешний код объекта (числовой),
// local  - локализация (LOCAL_LINE, LOCAL_POINT...)
// Обычно вызывается после mapCreateObject(...) и добавления семантики
// (если она есть)
// При ошибке возвращает ноль

_MAPIMP long int _MAPAPI mapRegisterObject(HOBJ info, long int excode,
                                          long int local);

// Сформировать описание нового объекта по короткому имени объекта
// (ключу) или изменить код существующего объекта на карте
// info - идентификатор объекта карты в памяти
// name - символьный код объекта в классификаторе (до 31 символа)
// Обычно вызывается после mapCreateObject(...)
// При ошибке возвращает ноль

_MAPIMP long int _MAPAPI mapRegisterObjectByKey(HOBJ info, const char *name);

Пример знака типа "Графический знак" см. в примерах, которые поставляются в составе ГИС Панорама (объект 530, точечный, код 85, ключ в классификаторе P0000000085):
c:\Users\Public\Documents\Panorama\Panorama13\data\shape\shape­.sitx

Для регистрации такого объекта вместо mapRegisterDrawObject необходимо вызвать:
mapRegisterObject(info, 85, LOCAL_POINT);
или
mapRegisterObjectByKey(info, "P0000000085");

При необходимости отображения разных знаков в диалоге редактирования вида знака можно выбрать семантику, из которой будет выбираться имя файла с картинкой (png, jpg).
Изменено: Александр Кружков - 29.06.2021 16:19:22
Программное создание объекта из растра или вектора
 
Добрый день!
1. Если Вы отображаете объект в ГИС Панорама, то в главном меню включите режим "Параметры-Масштабирование объектов-Картографическое", если в своем приложении - установите картографический способ масштабирования для карты (0):

 // Установить способ масштабирования объектов карты при отображении
 // method - способ масштабирования
 // (0 - картографический "с запаздыванием увеличения",
 //  1 - чертежный)
 // Возвращает ранее установленное значение

mapSetScaleMethod(method);

2. Для объекта отключить масштабирование (scale = 0):
mapSetObjectScale(info, scale);

В таком случае графический знак не должен увеличиваться в масштабах крупнее базового масштаба карты.

3. Если масштаб отображения мельче базового масштаба карты, то на объект может уменьшаться (по умолчанию press = 0, рекомендуется) или не уменьшаться (press = 1):
mapSetObjectPress(info, press);

P.S. Если указанные способы не помогут - прошу прислать карту (в формате SITX или SXF) с одним графическим знаком (для проверки отображения знака).
Изменено: Александр Кружков - 29.06.2021 09:39:10
Страницы: 1 2 3 4 5 6 7 8 9 10 11 ... 146 След.



© КБ Панорама, 1991-2022

Регистрируясь или авторизуясь на форуме, Вы соглашаетесь с Политикой конфиденциальности