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

Привязка растра по одной точке, загрузка изображения в формат RSW

Поиск  Пользователи  Правила  Войти
Форум » Настольные приложения » GIS ToolKit, GIS ToolKit Active
Страницы: 1 2 3 4 След.
RSS
Привязка растра по одной точке, загрузка изображения в формат RSW, GISToolKit Active C#
 
 Здравствуйте. Хотела бы уточнить в функциях MAPAPI нашла функции по привязке растра по двум точкам, есть ли функция привязки по одной точке?
И еще для того чтобы вызвать диалог загрузки изображения в формат RSW использую функцию LoadImageToRstEx, но она позволяет загружать только BMP,PCX,TIFF, GeoTIFF. Не нашла функцию которая бы загружала все графические форматы к примеру еще JPEG, PNG ? Видела отдельные функции для JPEG.  
 
Здравствуйте!
Цитата
Хотела бы уточнить в функциях MAPAPI нашла функции по привязке растра по двум точкам, есть ли функция привязки по одной точке?
RSTAPI.H:
Код
  // Установить привязку растра в районе работ(в метрах)
  // hMap       - идентификатор открытой векторной карты
  // number     - номер файла в цепочке
  // location   - координаты юго-западного угла растра(в метрах)
  // При ошибке возвращает 0

_MAPIMP long int _MAPAPI mapSetRstLocation(HMAP hMap, long int number, DOUBLEPOINT *location);

Цитата
И еще для того чтобы вызвать диалог загрузки изображения в формат RSW использую функцию LoadImageToRstEx, но она позволяет загружать только BMP,PCX,TIFF, GeoTIFF. Не нашла функцию которая бы загружала все графические форматы к примеру еще JPEG, PNG ? Видела отдельные функции для JPEG.
RSWGTAPI.H, gisrswg.dll:
Код
 //========================================================================
 // Диалог загрузки графического изображения в растровую карту(RSW)
 // Обрабатываются файлы следующих форматов: BMP, JPEG, PCX, TIFF, GeoTIFF, PNG, GIF
 //    В качестве файлов привязки растрового изображения могут применяться следующие данные:
 //    - Файл настроек (*.ini),
 //    - Файл настроек Фотоплан (*.tpf),
 //    - Файл настроек Талка (*.pln),
 //    - Файл настроек MapInfo (*.tab),
 //    - Файл настроек (world file)(*.tfw;*.jgw;*.bpw;*.pcw;*.j2w;*.sdw;*.nfw;*.wld)
 //    - Файл OziExplorer (*.map)
 //
 //    hmap - карта,содержащая векторные(растровые, матричные) данные;
 //    lpszsource - указатель на имя исходного файла
 //    sizesource - размер памяти, выделенной по указателю lpszsource (не менее 260 байт)
 //    lpsztarget - указатель на имя выходного файла
 //    sizetarget - размер памяти, выделенной по указателю lpsztarget (не менее 260 байт)
 //    fileLocType- тип применяемого файла привязки растрового изображения
 //                 fileLocType может принимать следующие значения:
 //                 120 - (*.ini), 121 - Фотоплан (*.tpf), 122 - Талка (*.pln),
 //                 123 - world file(*.tfw;*.jgw;*.bpw;*.pcw;*.j2w;*.sdw;*.nfw;*.wld),
 //                 124 - MapInfo (*.tab), 125 - OziExplorer (*.map).
 //    parm       - параметры прикладной задачи. Структура TASKPARM описана в MAPTYPE.H
 //
 //    При ошибке возвращает ноль
 //========================================================================
_RSWGIMP long int _RSWGAPI DialogLoadImageToRsw(HMAP hmap,
                                             char* lpszsource, long int sizesource,
                                             char* lpsztarget, long int sizetarget,
                                             long int fileLocType, TASKPARM *parm);

_RSWGIMP long int _RSWGAPI DialogLoadImageToRswUn(HMAP hmap,
                                             WCHAR* lpszsource, long int sizesource,
                                             WCHAR* lpsztarget, long int sizetarget,
                                             long int fileLocType, TASKPARM *parm);

 
Большое спасибо.
 
        Здравствуйте. Такой вопрос почему при вызову функции rswgSetCurrentRasterDialog из gisrswg.dll , которая находится в rswgtapi.h возникает ошибка "Нет точки входа"?  
 
Здравствуйте!

Объявление функции rswgSetCurrentRasterDialog в файле rswgtapi.h:
Код
 //++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
 //  Сервисные диалоги редактора растра
 //++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

#ifndef GISLIB
 //========================================================================
 //  Диалог "Текущий растр" редактора растра
 // hMap            - идентификатор документа
 // parm            - указатель на структуру типа TASKPARMEX (см. maptype.h)
 // rswFileName     - имя файла текущего растра (заполняется функцией)
 // sizeRswFileName - размер буфера rswFileName в байтах
 // point           - координаты левой верхней точки формы (пиксели экрана)
 //
 //    При ошибке возвращает ноль
 //========================================================================
_RSWGIMP long int _RSWGAPI rswgSetCurrentRasterDialog(HMAP hMap, TASKPARMEX* parm,
                                               WCHAR* rswFileName,
                                               int sizeRswFileName,
                                               POINT* point);

Перед функцией rswgSetCurrentRasterDialog  стоит директива условной компиляции #ifndef GISLIB.
GISLIB объявляется при сборке библиотек для Gis ToolKit.
Таким образом, функция rswgSetCurrentRasterDialog намеренно исключена из сборки для Gis ToolKit.
 
Спасибо. Подскажите еще пожалуйста как получить доступ к объекту растровой карты aiMapRst, пробую через MapView1, MapView1 содержит только MapView1.MapRsts ?
 
Доступ к файлу  матричной информации по порядковому номеру.

property  MapMtrs[Number:  integer]: aiMapMtr;

Описание:
Свойство предоставляет  доступ к свойствам экземпляра класса файла матричной информации.
Файл матричной  информации определяется порядковым номером в списке.
Параметр Number  определяет порядковый номер файла матричной информации.

Для программной среды, не поддерживающей индексные свойства - предусмотрен  метод
aiMapMtrs.MapMtr_get
function MapMtr_get (Number: integer):  aiMapMtr;
 
              Здравствуйте. При использовании данной функции можно привязать только юго-западный угол _MAPIMP long int _MAPAPI mapSetRstLocation(HMAP hMap, long int number, DOUBLEPOINT *location);, есть ли функция позволяющая привязать любую точку на растре?
 
Цитата
При использовании данной функции можно привязать только юго-западный угол _MAPIMP long int _MAPAPI mapSetRstLocation(HMAP hMap, long int number, DOUBLEPOINT *location);, есть ли функция позволяющая привязать любую точку на растре?

Здравствуйте!

Такой функции нет и не планируется.

Растр - двумерный массив пикселей(элементов).
Пиксель(элемент)  растра представляет собой прямоугольник с высотой и шириной (в метрах на местности).

В функцию mapSetRstLocation необходимо передавать координаты юго-западного угла юго-западного пикселя (элемента)  растра.
Зная индексы (в двумерном массиве) и координаты на местности нужного пикселя (элемента) растра, а так же размеры пикселя (элемента) растра по осям X и Y(в метрах на местности), можно рассчитать координаты юго-западного угла юго-западного пикселя (элемента).  
 
Цитата
Andrey Gheleznyakov написал:
Доступ к файлу  матричной информации по порядковому номеру.

property  MapMtrs[Number:  integer]: aiMapMtr;

Описание:
Свойство предоставляет  доступ к свойствам экземпляра класса файла матричной информации.
Файл матричной  информации определяется порядковым номером в списке.
Параметр Number  определяет порядковый номер файла матричной информации.

Для программной среды, не поддерживающей индексные свойства - предусмотрен  метод
aiMapMtrs.MapMtr_get
function MapMtr_get (Number: integer):  aiMapMtr;
Не пойму только как объект матричной информации aiMapMtr относится к объекту растровой информации aiMapRst. К примеру я хочу установить рамку растра MapView1.MapRst.SetRstBorder на что получаю ошибку, так как  MapView1 не содержит MapRst.
Страницы: 1 2 3 4 След.
Читают тему (гостей: 1)



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

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