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

Чтение сжатых данных из mtw

Поиск  Пользователи  Правила  Войти
Форум » Общие вопросы » Конвертация данных
Страницы: 1
RSS
[ Закрыто ] Чтение сжатых данных из mtw
 
Всем здравствуйте. Хотелось бы попросить Вашей помощи вот о какому вопросу. Необходимо прочитать данные из файла MTW, при этом в метаданных данного файла флаг "Номер алгоритма сжатия блоков" (+208, 0xD0) равен значению 0x20. Скажите пожалуйста, как называется данный алгоритм и где я могу его найти? Спасибо!
 
Алгоритм сжатия блоков матрицы (без потерь точности) - авторский алгоритм (не опубликован). Позволяет сжимать данные от 3 раз и более (зависит от качества матрицы и точности хранения: мм,см,дм,м).

Доступ к данным необходимо выполнять функциями:
Код
  // Чтение прямоугольного участка матрицы в заданную область памяти
  //   hMap - идентификатор открытой матричной карты (TMapAccess *)
  //   number - номер файла в цепочке
  //   bits - указатель на начало области памяти
  //   left - смещение участка матрицы слева (в элементах)
  //   top - смещение участка матрицы сверху (в элементах)
  //   width - ширина участка матрицы (в элементах)
  //   height - высота участка матрицы (в элементах)
  //   widthinbyte - ширинa участка матрицы в байтах
  //   Размер участка, заданного адресом bits, должен быть не менее
  //   (width * height * размер элемента матрицы в байтах),
  //   в противном случае возможны ошибки работы с памятью.
  //   Запрос размера элемента матрицы в байтах
  //   - функция mapGetMtrElementSize.
  //   Высоты участка записываются в область bits в единицах измерения
  //   значений высот данной матрицы.
  //   Запрос единицы измерения значений высот матрицы
  //   - функция mapGetMtrMeasure.
  // При ошибке возвращает ноль

_MAPIMP long int _MAPAPI mapGetMtrFrame(HMAP hMap, long int number, char* bits, long int left,  long int top,
long int width, long int height,long int widthinbyte);

  // Вывод прямоугольного участка матрицы
  //   hMap - идентификатор открытой матричной карты (TMapAccess *)
  //   number - номер файла в цепочке
  //   bits - адрес логического начала выводимого участка
  //          (см. beginning)
  //   left - смещение участка матрицы слева (в элементах)
  //   top - смещение участка матрицы сверху (в элементах)
  //   width - ширина участка матрицы (в элементах)
  //   height - высота участка матрицы (в элементах)
  //   beginning - определяет, на какую строку указывает bits :
  //     если beginning == 0, то bits указывает
  //       на начало верхней строки выводимого участка
  //     если beginning == 1, то bits указывает
  //       на начало нижней строки выводимого участка.
  //   Размер участка, заданного адресом bits, должен быть не менее
  //   (width * height * размер элемента матрицы в байтах),
  //   в противном случае возможны ошибки работы с памятью.
  //   Запрос размера элемента матрицы в байтах
  //   - функция mapGetMtrElementSize.
  //   Высоты выводимого участка должны быть записаны
  //   в области bits в единицах измерения высот данной матрицы.
  //   Запрос единицы измерения высоты матрицы
  //   - функция mapGetMtrMeasure.
  // При ошибке возвращает ноль

_MAPIMP long int  _MAPAPI mapPutMtrFrame(HMAP  hMap, long int number, char* bits, long int left, long int top,
long int   width, long int   height, long int   beginning);
 
Спасибо!
Страницы: 1
Читают тему (гостей: 1)



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

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