0

画像を開いてそのピクセルをメモリに書き込む必要があるため、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 ハイシエラ:141e9b6a84f4ca05a7699b33fc0ef808
  • Docker 経由の Ubuntu Xenial:019a568e40dcc41ac6496da06d29d723

なぜこれが起こっているのか、さらにどこを見ればよいのかわかりません。どんなヒントでも大歓迎です!

4

0 に答える 0