Здравствуйте!
Вы не написали, чем отличаются исходные файлы TIFF старой и новой партий.
Причин м.б. множество.
Например, поступили многоканальные снимки, в которых количество каналов больше 3-х.
Классический растр RSW поддерживает отображение 3-х каналов - R(красный), G(зеленый), B(синий).
Если в многоканальном файле TIFF не указано как интерпретировать каналы, какой из каналов соответствует красному, зеленому или синему,
то программа по своему усмотрению использует каналы файла TIFF.
Предлагаю для таких растров TIFF использовать функцию picexGetAccessToGraphicFileUn.
Отличие её от указанных Вами в том, что после импорта растров есть возможность поменять номера отображаемых каналов.
В данном случае на диске создается файл RSW, который содержит ссылку на открываемый файл Tiff(GeoTiff).
Копирование изображения TIFF в файл RSW не выполняется.
Такие растры прямого доступа к TIFF можно определить после открытия функцией mapRstIsAccessTiff:
Код |
---|
// Запросить тип растра
// hMap - идентификатор открытой векторной карты
// number - номер файла в цепочке
// Возвращает: 0 - обычный растр
// 1 - растр-пустышка с прямым доступом к файлу TIFF
_MAPIMP long int _MAPAPI mapRstIsAccessTiff(HMAP hMap, long int number);
|
Изменение номеров отображаемых каналов осуществляется следующими функциями:
Код |
---|
// Запросить количество каналов TIFF-растра с номером number
// hMap - идентификатор открытой векторной карты
// number - номер файла в цепочке
_MAPIMP long int _MAPAPI mapGetRstBandCount_Tiff(HMAP hMap, long int number);
// Запросить номер канала TIFF-растра с номером number, отображаемого красным
// hMap - идентификатор открытой векторной карты
// number - номер файла в цепочке
_MAPIMP long int _MAPAPI mapGetRstRedBand_Tiff(HMAP hMap, long int number);
// Запросить номер канала TIFF-растра с номером number, отображаемого зеленым
// hMap - идентификатор открытой векторной карты
// number - номер файла в цепочке
_MAPIMP long int _MAPAPI mapGetRstGreenBand_Tiff(HMAP hMap, long int number);
// Запросить номер канала TIFF-растра с номером number, отображаемого синим
// hMap - идентификатор открытой векторной карты
// number - номер файла в цепочке
_MAPIMP long int _MAPAPI mapGetRstBlueBand_Tiff(HMAP hMap, long int number);
// Установить номер канала TIFF-растра с номером number, отображаемого красным
// (если установить -1, то такой канал не используется)
// hMap - идентификатор открытой векторной карты
// number - номер файла в цепочке
_MAPIMP long int _MAPAPI mapSetRstRedBand_Tiff(HMAP hMap, long int number, int redband);
// Установить номер канала TIFF-растра с номером number, отображаемого зеленым
// (если установить -1, то такой канал не используется)
// hMap - идентификатор открытой векторной карты
// number - номер файла в цепочке
_MAPIMP long int _MAPAPI mapSetRstGreenBand_Tiff(HMAP hMap, long int number, int greenband);
// Установить номер канала TIFF-растра с номером number, отображаемого синим
// (если установить -1, то такой канал не используется)
// hMap - идентификатор открытой векторной карты
// number - номер файла в цепочке
_MAPIMP long int _MAPAPI mapSetRstBlueBand_Tiff(HMAP hMap, long int number, int blueband);
|