#!/usr/bin/env ruby require "tk" TkMessage.new(:width=>360, :text=><ImgFile) p ph1.configinfo b_str = Tk::BinaryString(IO.read(ImgFile)) p [b_str, b_str.encoding] ph2 = TkPhotoImage.new(:data=>b_str) p ph2.configinfo p ph2.data(:grayscale=>true) ph3 = TkPhotoImage.new(:palette=>256) ph3.put(ph2.data) ph4 = TkPhotoImage.new() ph4.put(ph2.data(:grayscale=>true)) #p [b_str.encoding, b_str.rb_encoding] f = TkFrame.new.pack TkButton.new(:parent=>f, :image=>ph1, :command=>proc{exit}).pack(:side=>:left) TkButton.new(:parent=>f, :image=>ph2, :command=>proc{exit}).pack(:side=>:left) TkButton.new(:parent=>f, :image=>ph3, :command=>proc{exit}).pack(:side=>:left) TkButton.new(:parent=>f, :image=>ph4, :command=>proc{exit}).pack(:side=>:left) Tk.mainloop