Help us understand the problem. What is going on with this article?

IRuby notebook で String 変数に格納しているPNG 画像データをインラインで表示する方法

More than 5 years have passed since last update.

画像がインライン表示されなかった

IRuby notebook の example をみると、画像がインラインで表示されているので、画像データが変数にあるときにどのようすると表示できるのか調べた。

例えば、PNG画像を返すREST APIがあるとして、rest-client で GET すると、画像が String として取得される。

png_addr = "https://pubchem.ncbi.nlm.nih.gov/rest/pug/compound/cid/2244/PNG"
png = RestClient.get(png_addr)
png #=> "\x89PNG\r\n\u001A\n\u0000\u0000\u0000\rIHDR\u0000\u0000\u0001,\u0000\u0000\u0001,\b\u0003\u0000\u0000\u00019\xA4N\xD1\u0000\u0000\u0001\u0011PLTE\xF5\xF5\xF5/OO\xFF\u0000\u0000f\x8B\x8B\xA6\xB3\xB3~\x91\x91Wpp\xCD\xD4Ԡ(省略)

この文字列は、ファイルに保存するとPNG画像として扱うことができる。しかし、ファイルを経由せずに表示したい。

IRuby.display

さて、これをインラインで画像表示するには、IRuby.display で MIME タイプをimage/pngと指定すると良いことが display.rb のコードIRuby-Examples.ipynbを見るとわかる。

PUG_RestClient.png

このようにPNG画像がインラインで表示される。

Why not register and get more from Qiita?
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away