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

Идентичность результатов mapPaintToXImage

Поиск  Пользователи  Правила  Войти
Форум » Linux » Средства разработки ГИС-приложений для Linux
Страницы: 1
RSS
Идентичность результатов mapPaintToXImage, В рамках 2 процессов результаты вызова функции mapPaintToXImage не идентичны
 
Добрый день, уважаемые коллеги.

Во время тестирования нашего программного продукта обнаружили, что на некоторых картах 2 запуска функции mapPaintToXImage в рамках разных процессов с одними и теми же параметрами дают разные результаты.

Изображения после первого запуска (https://forsys.ru/nextcloud/index.php/s/N7JKXjjbZemrmTS):
Изображение после второго запуска (https://forsys.ru/nextcloud/index.php/s/JMSnj9BxAPJWdb9):


Масштаб, смещение и размер изображения полностью совпадают. Красным подсвечены пиксели, которые не совпадают с первым запуском.

Отсюда вопрос: что необходимо сделать, что бы 2 запуска mapPaintToXImage в рамках разных процессов давали одинаковый результат?


Изображение формирует так:
Код
func(int mapX, int mapY, int w, int h)
{
  int newW = w;
  int newH = h;
 
  RECT rect;
  rect.left = mapX;
  rect.top = mapY;
  rect.right = mapX + newW;
  rect.bottom = mapY + newH;

  const int mapDepth = 32;
  XIMAGEDESC xImagedesc;
  long allignWidth = newW * (mapDepth / 8);
  long size = allignWidth * newH;
  char* lpBits = NULL;
  lpBits = new char[size];
  memset(lpBits, 0x0, size);

  xImagedesc.Point = lpBits;  // Address of pixels area
  xImagedesc.Width = newW;        // String width in pixels
  xImagedesc.Height = newH;       // String amount
  xImagedesc.Depth = mapDepth;// Element size in bits (8, 15, 16, 24, 32)
  xImagedesc.CellSize = mapDepth / 8;// Element size in bytes
  xImagedesc.RowSize = newW * xImagedesc.CellSize;// String width in bytes


  long int res = wrapper->mapPaintToXImage(hMap, &xImagedesc, 0, 0, &rect);
....
}
 
Здравствуйте!

Уточните, пожалуйста, на каких данных воспроизводится данное поведение?
Возможно ли передать нам эти данные для анализа и небольшой пример с отрисовкой конкретного фрагмента карты?

С помощью какого средства Вы производите сравнение?

Спасибо!
Страницы: 1
Читают тему (гостей: 1)



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

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