Ruby/Tk RMagick

気がついたこと

rmagickは

 - 画像処理するもので、その表示位置をデスクトップや他のXserver上の表示位置をコントロールするものではない。例えば


そういうときはTcl/Tkを使う。

tkは
 - rbenv,rvmでつにねに現在使っているrubyの再コンパイルが必要。要するに相性が悪い。
 - GIFF以外の画像フォーマットを使うときは require "tkextlib/tkimg/png" 等が必要だがこれも相性が悪い。


require 'rmagick'
require 'tk'

url='http://xxxx.com/sample_image.png
img=Magick::Image.read(url).first
img_gif_binary = img.to_blob {|attrs| attrs.format= 'GIF'}

TkRoot.new {geometry '300x80+100+100'}
TkLabel.new {
#image TkPhotoImage.new(file:"img/tmp.gif")
image TkPhotoImage.new(:data=>Tk::BinaryString(img_gif_binary))
pack
}
TkAfter.new(3000,1,proc{exit}).start
Tk.mainloop