[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)
Подскажите пожалуйста. Можно ли добавить картинку на карту, но без добавления ее в классификатор?
Я попытался сделать все, аналогично приведенному выше коду, используя следующие код: [CODE]HOBJ hObj = mapCreateSiteObject(m_baseMapHandler, m_userMapHandler, IDDOUBLE2, 0);
Не удается открыть карту, в пути которой есть русские символы.
Версия ГИС Конструктор 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] ).
[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.