Ruby VIPS image.write_to_memory дает разные результаты в разных средах - PullRequest
0 голосов
/ 27 мая 2019

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

image = Vips::Image.new_from_file(filename)
pixels_pointer = image.write_to_memory

Однако, похоже, что то, что написано в памяти, отличается в зависимости от среды. Мы тестируем это на MacOS High Sierra и на Ubuntu Xenial через Docker с vips-8.8.0 и ruby-vips (2.0.13). Мы записали в MD5 результат записи в память:

p Digest::MD5.hexdigest(pixels_pointer)

и вот результаты для обоих:

  • macOS High Sierra: 141e9b6a84f4ca05a7699b33fc0ef808
  • Ubuntu Xenial через Docker: 019a568e40dcc41ac6496da06d29d723

Понятия не имею, почему это происходит и где мне искать дальше. Любой совет будет высоко оценен!

...