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

Выделение обьъектов на карте

Поиск  Пользователи  Правила  Войти
Форум » Linux » ГИС Панорама для Linux
Страницы: Пред. 1 2
RSS
Выделение обьъектов на карте
 
Предлагаю прочитать еще раз описание функции mapPaintAndSelectToXImage из топика http://gisweb.ru/forum/messages/forum4/topic7416/message52946/#message52946.
Обратите внимение на последний параметр функции - "color  - цвет, которым будут выделяться объекты на карте ". Он Вам и нужен.
 
Да, я был не внимателен.
Спасибо, вопрос закрыт!
 
Подскажите, пожалуйста, функцию, имеющую те же возможности (отрисовка карты с выделение указанных в HSELECT объектов), что и mapPaintAndSelectToXImage(), но под Windows.
 
Такие функции можно найти если выполнить поиск по mapapi.h со словом Select.
Например:

Код
 // Отобразить фрагмент карты на заданном устройстве
 // в текущих масштабе и составе объектов и
 // выделить на карте объекты, удовлетворющие заданным условим
 // hMap   - идентификатор открытых данных
 // hdc    - контекст устройства
 // erase  - признак стирания фона перед выводом,
 //          (0 - фон не стирать, !=0 - очистить фрагмент цветом фона,
 //          для экранного способа вывода (VT_SCREEN) всегда стирает
 //          цветом фона, кроме значения -2 (минус 2))
 // rect   - координаты фрагмента карты (Draw) в изображении (Picture)
 // select - условия отбора объектов, если равны 0, то применяются
 //          условия обобщенного поиска\выделения (см. mapTotalPaintSelect95).
 // color  - цвет, которым будут выделяться объекты на карте
 // Корректно работает с большими изображениями под Windows95 и NT,
 // но требует перед вызовом установки
 //              ::SetViewportOrgEx(hDC, dx , dy, 0),
 // где dx,dy - положение отображаемого фрагмента в клиентной области !
 // Размер картинки, рисуемой за один вызов, не более
 // текущих размеров экрана!
 // alpha - флаг использования альфа канала 0 - не использовать 1 - использовать
 // filename  - полное имя создаваемого файла формата png
 // alpha - флаг использования альфа канала 0 - не использовать 1 - использовать
 // Если image != 0 и object != 0 дополнительно вызвается фукция
 // mapPaintMapObject95Ex  (Отобразить произвольный объект в пределах фрагмента
 // в условных знаках пользователя)
 // image - описание вида объекта (см. MAPGDI.H),
 // object - идентификатор объекта

_MAPIMP void _MAPAPI mapPaint95AndSelect(HMAP hMap, HDC hDC, long int erase, RECT *rect, HSELECT select, COLORREF color);

_MAPIMP void _MAPAPI mapPaint95AndSelectEx(HMAP hMap, HDC hDC, long int erase, RECT *rect, HSELECT select,
                                           COLORREF color, long int alpha);

_MAPIMP long int _MAPAPI mapPaint95AndSelectToFile(HMAP hMap, const char *filename, long int erase, RECT *rect,
                                                   HSELECT select, COLORREF color, long int alpha, PAINTPARM *image, HOBJ object);

_MAPIMP long int _MAPAPI mapPaint95AndSelectToFileUn(HMAP hMap, const WCHAR *filename, long int erase, RECT *rect,
                                                     HSELECT select, COLORREF color, long int alpha, PAINTPARM *image, HOBJ object);

  // Вывести изображение карты в XImage (массив) и выделить
  // на карте отобранные объекты
  // Описание структуры XIMAGEDESC в maptype.h
  // x,y - координаты левого верхнего угла внутри
  // битовой области XImage для размещения изображения
  // rect - выводимый фрагмент карты
  // select - условия отбора объектов, если равны 0, то применяются
  //          условия обобщенного поиска\выделения (см. mapTotalPaintSelect95).
  // color  - цвет, которым будут выделяться объекты на карте
  // При ошибке в параметрах возвращает ноль

_MAPIMP long int _MAPAPI mapPaintAndSelectToXImage(HMAP hMap, XIMAGEDESC *imagedesc,  long int x, long int y, RECT *rect,
                                                    HSELECT select, COLORREF color);



mapPaintAndSelectToXImage реализована и в MS Windows.
 
mapPaintAndSelectToXImage реализована в MS Windows, но не выделяет в ней объекты(
Есть какие-то отличия в использовании под mapPaintAndSelectToXImage под Windows и Linux?
 
Цвет указывается в функции выделения объектов:
Код
 // Выделить на карте объекты, удовлетворяющие условиям
 // обобщенного поиска
 // hMap     - идентификатор открытой карты,
 // hDC      - контекст устройства отображения,
 // rect     - координаты фрагмента карты (Draw) в изображении (Picture)
 // color    - цвет, которым будут выделяться объекты на карте
 // Требует перед вызовом установки
 //              ::SetViewportOrgEx(hDC, dx , dy, 0),
 // где dx,dy - положение отображаемого фрагмента в клиентной
 // области !
 // При ошибке возвращает ноль

_MAPIMP long int _MAPAPI mapTotalPaintSelect95(HMAP hMap, HDC hDC, RECT *rect, COLORREF color);

  // Вывести изображение карты в XImage (массив) и выделить
  // на карте отобранные объекты
  // Описание структуры XIMAGEDESC в maptype.h
  // x,y - координаты левого верхнего угла внутри
  // битовой области XImage для размещения изображения
  // rect - выводимый фрагмент карты
  // select - условия отбора объектов, если равны 0, то применяются
  //          условия обобщенного поиска\выделения (см. mapTotalPaintSelect95).
  // color  - цвет, которым будут выделяться объекты на карте
  // При ошибке в параметрах возвращает ноль

_MAPIMP long int _MAPAPI mapPaintAndSelectToXImage(HMAP hMap, XIMAGEDESC *imagedesc, long int x, long int y, RECT *rect, HSELECT select, COLORREF color);


Страницы: Пред. 1 2
Читают тему (гостей: 1)



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

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