我们需要打开一个图像并将其像素写入内存,以便C库可以对其进行进一步处理。我们使用以下代码行:
image = Vips::Image.new_from_file(filename)
pixels_pointer = image.write_to_memory
但是,似乎写入的内存内容因环境而异。我们正在使用vips-8.8.0
和ruby-vips (2.0.13)
在macOS High Sierra和通过Docker在Ubuntu Xenial上进行测试。我们已经MD5-ed了写入内存的结果:
p Digest::MD5.hexdigest(pixels_pointer)
这是两者的结果:
141e9b6a84f4ca05a7699b33fc0ef808
019a568e40dcc41ac6496da06d29d723
我不知道为什么会发生这种情况以及我应该在哪里进一步了解。任何提示将不胜感激!