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

Сергей (Все сообщения пользователя)

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

Страницы: Пред. 1 2 3 4 5 6 7 8 9 10 11 ... 17 След.
Подскажите пожалуйста есть ли возможность добавить собственное изображение в классификатор в формате png, jpg, jpeg, bmp?
 
[QUOTE]Александр Савелов написал:
Уточните, пожалуйста, какую версию ГИС Конструктор Вы используете[/QUOTE]
Версия ГИС Конструктор 11.03:
// Версия библиотеки MapAccess
// (если применяется "mapacces.h" и т.п.)
#define MAPACCESSVERSION  20130912

// Версия интерфейса MAPAPI и ядра библиотеки
#define MAPAPIVERSION  0x111015

Если создать картинку bmp 32 разрядную в формате ARGB, то в классификаторе черный квадрат, если 24 разрядную в формате RGB, то отображается картинка.

Я только по вашему ответу не понял, картинку можно без классификатора добавить на карту?

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

Спасибо.
Изменено: Сергей - 19.12.2019 17:36:27 (описание с sxf)
Подскажите пожалуйста есть ли возможность добавить собственное изображение в классификатор в формате png, jpg, jpeg, bmp?
 
Добрый день!

Подскажите пожалуйста. Можно ли добавить картинку на карту, но без добавления ее в классификатор?

Я попытался сделать все, аналогично приведенному выше коду, используя следующие код:
[CODE]HOBJ hObj = mapCreateSiteObject(m_baseMapHandler, m_userMapHandler, IDDOUBLE2, 0);

IMGGRAPHICMARKEX parm;
memset(&parm, 0, sizeof(parm));
parm.Length = sizeof(parm);
parm.Type = 1; // 1- BMP
parm.Height = PIX2MKM(640);
parm.Width = PIX2MKM(800);
parm.PosH = 0;
parm.PosV = 0;

const char * picturename = "image.bmp";
strcpy(parm.Name, picturename);

mapRegisterDrawObject(hObj, 1, LOCAL_POINT);                            //28/02/18
mapAppendDraw(hObj, IMG_GRAPHICMARK, (char *)&parm);

mapAppendPointPlane(hObj, x, y);
auto resCommit = mapCommitObject(hObj);
[/CODE]
На карте добавляется рамка, а картинка не отображается.

Файл image.bmp лежит в  одном каталоге с пользовательской картой и файлом классификатора.

Что я делаю не так?

Заранее спасибо.
Печать карть программным способом под операционной системой МСВС
 
[QUOTE]Александр Савелов написал:
Прикрепляю модифицированный пример с учетом данных правок:[/QUOTE]
Александр, спасибо за оперативные ответы.

Положительный результат уже близок. Как закончу свои проверки, выложу более компактный пример без некоторых лишних строчек.

Спасибо.
Не открывается карта с русскими символами, Пу
 
Здравствуйте.

Не удается открыть карту, в пути которой есть русские символы.

Версия ГИС Конструктор 11.03:
// Версия библиотеки MapAccess
// (если применяется "mapacces.h" и т.п.)
#define MAPACCESSVERSION  20130912

// Версия интерфейса MAPAPI и ядра библиотеки
#define MAPAPIVERSION  0x111015
[CODE]long int errcode;
QString escapedPath = ...; //  "/tmp/Ногинск/Карта ногинска.sit";
// escapedPath.replace(QLatin1String(" "), QLatin1String("\\ ")); пробовал заменить проблеы на обратный слэш с пробелом, тоже не помогло
HMAP mapHandle = mapOpenAnyData(ushortToWChar(escapedPath.utf16()), 0, &errcode); // возвращает код ошибки, определенный следующим образом: #define IDS_FILE_NOT_FOUND   60007  // ФАЙЛ НЕ НАЙДЕН [/CODE]
Возможно эта проблема уже решена позже, судя по [URL=http://gisweb.ru/forum/messages/forum2/topic7923/message57861/7923#message57861]ответу на форуме.[/URL]
Если решена, то можно ли как-то другим способом открыть такую карту, не меняя версию библиотеки?

Спасибо.
Печать карть программным способом под операционной системой МСВС
 
Добрый день!

Александр, не могли бы уточнить по коду?

На примере тех исходников, что вы привели выше нигде не нашел использование ни одного из параметров структуры:
[CODE]ScriptParam.CutListFlag = 1; // Одностраничная печать формат - A0[/CODE][CODE]ScriptParam.FormatPage = 5; // A4[/CODE]
Оно в дальнейшем где-нибудь используется? И какой из них правильно заполнять, если в этом есть необходимость.

Спасибо.
Печать карть программным способом под операционной системой МСВС
 
[QUOTE]Александр Савелов написал:
[QUOTE][URL=/forum/user/871/]Сергей[/URL] написал:
Александр, спасибо за пример, но пока с полями все равно проблема, они появились, но все еще обрезаются.[/QUOTE]
Если проанализировать pdf, то там объекты не обрезаются. Поэтому можно сделать вывод, что просто у физического принтера поля больше.
Можно увеличить поля при формировании pdf настройкой класса QPrinter ( [URL=https://doc.qt.io/archives/qt-4.8/qprinter.html]https://doc.qt.io/archives/qt-4.8/qprinter.html[/URL] ).

Например:
[CODE] QPrinter *printer = new QPrinter(QPrinter::HighResolution);
 printer->setColorMode(QPrinter::Color);
 qreal newMargin = 20.0;
 printer->setPageMargins(newMargin, newMargin, newMargin, newMargin, QPrinter::Millimeter); [/CODE] [/QUOTE]
Спасибо за оперативность ответов!

Попробую.
Печать карть программным способом под операционной системой МСВС
 
[QUOTE]Александр Савелов написал:
long oldViewType = mapSetViewType(hMap, VT_PRINTRST);
 // Установим белый цвет фона
 COLORREF oldback = mapGetBackColor(hMap);
 mapSetBackColor(hMap, 0x0FFFFFF);

 // Отобразим фрагмент карты в памяти
 mapPaintToXImage(hMap, &Ximagedesc, 0, 0, &RectDraw);

 mapSetBackColor(hMap, oldback);
 mapSetViewType(hMap, oldViewType);[/QUOTE]
Еще, насколько я заметил в том примере, что вы дали, осуществляется попытка печати в принтерно-растровом виде.

Но, судя по вашим словам в одной из веток форума, в 11 версии отсутствует возможность отображать карту в принтерно-растровом виде.
Печать карть программным способом под операционной системой МСВС
 
[QUOTE]Александр Савелов написал:
_MAPIMP long int _MAPAPI mapSetMaxScreenImageSize(long int width, long int height);[/QUOTE]
Данная функция, к сожалению, отсутствует в моей версии MAPAPI.
Печать карть программным способом под операционной системой МСВС
 
Добрый день.

Александр, спасибо за пример, но пока с полями все равно проблема, они появились, но все еще обрезаются.
А еще на карте появляются какие-то артифакты.

Полученный [URL=https://dropmefiles.com/bXqL9]pdf-файл прикладываю[/URL].
Печать карть программным способом под операционной системой МСВС
 
Александр, огромное спасибо за пример!

Завтра утром отпишусь о результатах.

С меня магарыч, когда буду в Москве, если я все-таки распечатаю карту :)
Страницы: Пред. 1 2 3 4 5 6 7 8 9 10 11 ... 17 След.



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

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