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

Искажения при сохранении карты

Поиск  Пользователи  Правила  Войти
Форум » Linux » Средства разработки ГИС-приложений для Linux
Страницы: 1 2 След.
RSS
Искажения при сохранении карты, в формат JPG, BMP, TIF
 
Добрый вечер.
Пытаемся портировать функционал написанного проекта из Windows 10 (MAPAPI 13 версии, Qt 5) в Astra Linux 1.6 используем ГИС Конструктор FREE для QtDesigner x64 Включая компонент 3D-модели (версия 12.6.1, Qt4, Qt5, ОС Astra Linux SE, релиз Смоленск).
Среда разработки Qt Creator.
В Windows 10 проблем с сохранением карты в формат JPG, BMP, TIF нет.

Пытаюсь сохранить карту в формат JPG, BMP, TIF для этого использую функцию LoadMapToPictureFileUn
Код
    //координаты района
    DFRAME dframe = borderClass->getPrintingAreaCorners();

    typedef long int (WINAPI * F_LoadMapToPictureFileUn)(HMAP map, HMESSAGE handle,
                                                         DFRAME * dframe, int bitCount,
                                                         int scale, int resolution,
                                                         const WCHAR* filename, int flagIntergraphTIFF,
                                                         int flagCompress,
                                                         HMESSAGE handleMainWin, int flafAdjustMode);

    F_LoadMapToPictureFileUn lpfn_LoadMapToPictureFileUn =  (long int (WINAPI *)(HMAP map, HMESSAGE handle,
                                                                                 DFRAME * dframe, int bitCount,
                                                                                 int scale, int resolution,
                                                                                 const WCHAR* filename, int flagIntergraphTIFF,
                                                                                 int flagCompress,
                                                                                 HMESSAGE handleMainWin, int flafAdjustMode))
                                                            mapLoadLibrary(MAPPICEXLIB, &libinstSaveToPic, "LoadMapToPictureFileUn");


    if (lpfn_LoadMapToPictureFileUn == 0)
    {
        if (libinstSaveToPic)  mapFreeLibrary(libinstSaveToPic);
        qDebug() << "Ошибка! Библиотека не загружена";
    }

    long bitcount = 24;//32              
    long resolution = 200; 
          
    QString suffix = fileName.split(".").last();
    int flagCompress = 0;
    if(suffix == "jpg")
        flagCompress = 100;         //При сохранении файла JPG  - Коэффициент качества изображения при сжатии JPEG (0-100)
    else if (suffix == "tif")
        flagCompress = 1;           //При сохранении файла TIFF - Флаг сжатия изображения (0- не применять сжатие, 1 - сжатие PackBit)

    auto ret = (*lpfn_LoadMapToPictureFileUn)(hMap, 0, &dframe,
                                              bitcount, scale,
                                              resolution, reinterpret_cast<const WCHAR *>(fileName.constData()), 0, flagCompress, 0, 0);

    if (ret == 0)
        qDebug() << "Ошибка! Функция не запущена. Неверные параметры запуска." ;
При сохранении карты в формат JPG, BMP, если указать кол-во бит на пиксель сохраняемого изображения 24, то на выходе получаю черно-белое изображение карты.

При сохранении карты в формат JPG, BMP, если указать кол-во бит на пиксель сохраняемого изображения 32, то на выходе получаю цветное изображение карты, но с вертикальными линиями, которых не должно быть на карте.

При попытке сохранить в TIF программа аварийно завершается.
Подскажите, в чем может быть дело?
Изменено: Александр - 24.09.2020 13:38:09
 
Цитата
Александр написал:
При сохранении карты в формат JPG, BMP, если указать кол-во бит на пиксель сохраняемого изображения 24, то на выходе получаю черно-белое изображение карты.
Не можем посмотреть скриншоты. Просьба прикрепить еще раз в другом формате.
Или пришлите на почту технической поддержки КБ Панорама <panorama@gisinfo.ru>
 
Скриншоты доступны по ссылкам, а так же продублировал на почту:

https://www.dropbox.com/s/uvtn2i2pcneqqec/32.bmp?dl=0
https://www.dropbox.com/s/iut3sgtrlmwoh8i/32.jpg?dl=0
https://www.dropbox.com/s/w27u8642vo8vwx4/24.bmp?dl=0
 
Предположительно полосы могут быть, когда ширина изображения не кратна 32.
Есть функция формирования изображения в памяти типа PaintToXImage. Далее средствами Qt можно сохранить изображение в любой формат.
TIF можно сохранять через функции библиотеки GDAL.
Кроме того, можно обновить версию ГИС Конструктор до 13-ой. Исходные тексты библиотек те же, что в Windows.
 
Цитата
Oleg Belenkov написал:
Кроме того, можно обновить версию ГИС Конструктор до 13-ой. Исходные тексты библиотек те же, что в Windows.

Готовы обновиться до 13 версии, что для этого необходимо?
 
Цитата
Александр написал:
Готовы обновиться до 13 версии, что для этого необходимо?
На почту технической поддержки просьба прислать номер лицензионного ключа.
panorama@gisinfo.ru
 
Цитата
Елена Кузнецова написал:
На почту технической поддержки просьба прислать номер лицензионного ключа.
panorama@gisinfo.ru
Выслал
 
Цитата
Oleg Belenkov написал:
Кроме того, можно обновить версию ГИС Конструктор до 13-ой. Исходные тексты библиотек те же, что в Windows.

В 13 версии, если указать кол-во бит на пиксель сохраняемого изображения 24, то на выходе получаю черно-белое изображение с искажениями, но при указании 32 бит - файлы (jpg, bmp, tif) сохраняются без видимых искажений.
 
Столкнулись с еще одним искажением при сохранении карты, которое заключается в частичном сохранении надписи в выходном файле (проявляется во всех форматах сохраняемого файла).
В Windows 10 проблем с сохранением карты нет.

Скриншот, демонстрирующий нанесенную на карту надпись:

при сохранении карты в файл получаем:
 
Цитата
Александр написал:
Столкнулись с еще одним искажением при сохранении карты, которое заключается в частичном сохранении надписи в выходном файле (проявляется во всех форматах сохраняемого файла).В Windows 10 проблем с сохранением карты нет.
Попробуйте выполнить сортировку карты (Главное меню - Задачи- Сортировка).
Если проблема после сортировки останется просьба прислать пример данных (карту в формате sxf и классификатор).
Так будет быстрее увидеть и поправить ошибку.

Спасибо!
Изменено: Елена Кузнецова - 07.10.2020 08:43:16
Страницы: 1 2 След.
Читают тему (гостей: 1)



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

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