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

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

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

Страницы: 1 2 3 4 5 6 7 8 9 10 11 ... 146 След.
формат файла RSW, Извлечение изображения из файла RSW
 
[QUOTE]Александр C. написал:
Но когда формат файла оказывается закрытым[/QUOTE]
Формат сжатия данных матрицы высот разработан в КБ Панорама, поэтому приведен в приложении 2 документа [URL=https://gistoolkit.com/download/doc/sxf4mtwrsw.pdf]https://gistoolkit.com/download/doc/sxf4mtwrsw.pdf[/URL]
Формат JPEG открыт: [URL=https://ru.wikipedia.org/wiki/JPEG]https://ru.wikipedia.org/wiki/JPEG[/URL]
LZW: [URL=https://pl.wikipedia.org/wiki/LZW]https://pl.wikipedia.org/wiki/LZW[/URL]
Вы можете прочитать его сами или воспользоваться функциями, входящими в состав Комплекта для разработки приложений (ГИС "Панорама" 14): [URL=https://gisinfo.ru/download/?id=279]https://gisinfo.ru/download/?id=279[/URL]
формат файла RSW, Извлечение изображения из файла RSW
 
#define VERSION_BIGRMF   0x0201        // ВЕPСИЯ СТРУКТУРЫ 2.01 (растр произвольного размера одним файлом, смещения в 256 байтных элементах)

В данном случае все смещения умножаются на 256:[CODE]__int64 blockDescOffset = (__int64)RMF::BlockDescOffset * 256 - смещение (в байтах) на МАССИВ ОПИСАТЕЛЕЙ БЛОКОВ
__int64 blockOffset = (__int64)BLOCKDESC::Value1 * 256 - смещение (в байтах) на блок
int blockLength = BLOCKDESC::Value2 - длина блока (в байтах). УМНОЖЕНИЕ НЕ ВЫПОЛНЯТЬ[/CODE]
Изменено: Александр Кружков - 22.09.2022 12:26:28
формат файла RSW, Извлечение изображения из файла RSW
 
В файле rmf.h описана структура заголовка растров и матриц:[CODE]typedef struct RMF // РАЗМЕР ЗАГОЛОВКА 320 БАЙТ
{
...
                                                    // 0x00D0 (208)
 unsigned char CompressNumber;    // НОМЕР АЛГОРИТМА СЖАТИЯ БЛОКОВ
                                  // Возможные значения:
                                  // 0 - сжатие к блокам изображения не применено
                                  // RMF_COMPR_LZW   (1)- блоки сжаты по методу LZW (справедливо для растров)
                                  // RMF_COMPR_JPEG  (2)- блоки сжаты по методу JPEG (справедливо для 24 битных растров)
                                  // RMF_COMPR_32    32)- блоки матрицы сжаты (справедливо для матриц)
...
};[/CODE]Функция DecompressMtr используется при RMF::CompressNumber = 32.
В файле mapapi.h для RMF::CompressNumber = 2 (RMF_COMPR_JPEG) есть соответствующая функция:
[CODE] // Декомпрессия изображения по алгоритму JPEG
 // in       - массив исходных (сжатых) данных
 // sizein   - размер массива исходных (сжатых) данных
 // width    - ширина изображения (пикселей)
 // height   - высота изображения (пикселей)
 // bit      - количество бит на пиксель (выполняется сжатие изображения
 //            с количеством бит на пиксель, равным 24)
 //  out     - массив выходных данных
 //  sizeout - размер массива выходных данных
 // При ошибке возвращает 0

_MAPIMP long int _MAPAPI mapDecompressJPEG(const char *in, long int sizein, long int width, long int height, long int bit,
                                          char *out, long int sizeout);[/CODE]
Изменено: Александр Кружков - 22.09.2022 12:19:43
Программное создание объекта из растра или вектора
 
Данная функция загружает картинку в память. Идентификатором картинки является полное имя картинки (/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 (по умолчанию - "Нет ограничения").
Страницы: 1 2 3 4 5 6 7 8 9 10 11 ... 146 След.



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

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