Ruby VIPS image.write_to_memory在不同的环境中产生不同的结果

时间:2019-05-27 13:29:21

标签: ruby ffi vips

我们需要打开一个图像并将其像素写入内存,以便C库可以对其进行进一步处理。我们使用以下代码行:

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

但是,似乎写入的内存内容因环境而异。我们正在使用vips-8.8.0ruby-vips (2.0.13)在macOS High Sierra和通过Docker在Ubuntu Xenial上进行测试。我们已经MD5-ed了写入内存的结果:

p Digest::MD5.hexdigest(pixels_pointer)

这是两者的结果:

  • macOS High Sierra:141e9b6a84f4ca05a7699b33fc0ef808
  • 通过Docker的Ubuntu Xenial:019a568e40dcc41ac6496da06d29d723

我不知道为什么会发生这种情况以及我应该在哪里进一步了解。任何提示将不胜感激!

0 个答案:

没有答案