···
From: jcb@iteris.com (MetalOne)
Subject: Ruby/Tk how to display a raw image residing in RAM.
Date: Tue, 13 May 2003 08:48:13 +0900
Message-ID: 92c59a2c.0305121545.78a6fe76@posting.google.com
I have an image stored as an array of RGB tuples.
8 bits for each of red, green, and blue.
I would like to use Tk to display it.
Does this sample script help you?
#!/usr/bin/env ruby
require ‘tk’
dat = [
[‘#000000’,‘#000000’,‘#000000’,‘#000000’,‘#000000’,‘#000000’,‘#000000’],
[‘#000000’,‘#000000’,‘#000000’,‘#000000’,‘#000000’,‘#000000’,‘#000000’],
[‘#000000’,‘#000000’,‘#000000’,‘#000000’,‘#000000’,‘#000000’,‘#000000’],
[‘#000000’,‘#000000’,‘#000000’,‘#000000’,‘#000000’,‘#000000’,‘#000000’],
[‘#000000’,‘#000000’,‘#000000’,‘#000000’,‘#000000’,‘#000000’,‘#000000’],
[‘#ff0000’,‘#ff0000’,‘#ff0000’,‘#ff0000’,‘#ff0000’,‘#ff0000’,‘#ff0000’],
[‘#ff0000’,‘#ff0000’,‘#ff0000’,‘#ff0000’,‘#ff0000’,‘#ff0000’,‘#ff0000’],
[‘#ff0000’,‘#ff0000’,‘#ff0000’,‘#ff0000’,‘#ff0000’,‘#ff0000’,‘#ff0000’],
[‘#ff0000’,‘#ff0000’,‘#ff0000’,‘#ff0000’,‘#ff0000’,‘#ff0000’,‘#ff0000’],
[‘#ff0000’,‘#ff0000’,‘#ff0000’,‘#ff0000’,‘#ff0000’,‘#ff0000’,‘#ff0000’],
[‘#00ff00’,‘#00ff00’,‘#00ff00’,‘#00ff00’,‘#00ff00’,‘#00ff00’,‘#00ff00’],
[‘#00ff00’,‘#00ff00’,‘#00ff00’,‘#00ff00’,‘#00ff00’,‘#00ff00’,‘#00ff00’],
[‘#00ff00’,‘#00ff00’,‘#00ff00’,‘#00ff00’,‘#00ff00’,‘#00ff00’,‘#00ff00’],
[‘#00ff00’,‘#00ff00’,‘#00ff00’,‘#00ff00’,‘#00ff00’,‘#00ff00’,‘#00ff00’],
[‘#00ff00’,‘#00ff00’,‘#00ff00’,‘#00ff00’,‘#00ff00’,‘#00ff00’,‘#00ff00’],
[‘#0000ff’,‘#0000ff’,‘#0000ff’,‘#0000ff’,‘#0000ff’,‘#0000ff’,‘#0000ff’],
[‘#0000ff’,‘#0000ff’,‘#0000ff’,‘#0000ff’,‘#0000ff’,‘#0000ff’,‘#0000ff’],
[‘#0000ff’,‘#0000ff’,‘#0000ff’,‘#0000ff’,‘#0000ff’,‘#0000ff’,‘#0000ff’],
[‘#0000ff’,‘#0000ff’,‘#0000ff’,‘#0000ff’,‘#0000ff’,‘#0000ff’,‘#0000ff’],
[‘#0000ff’,‘#0000ff’,‘#0000ff’,‘#0000ff’,‘#0000ff’,‘#0000ff’,‘#0000ff’],
[‘#ffffff’,‘#ffffff’,‘#ffffff’,‘#ffffff’,‘#ffffff’,‘#ffffff’,‘#ffffff’],
[‘#ffffff’,‘#ffffff’,‘#ffffff’,‘#ffffff’,‘#ffffff’,‘#ffffff’,‘#ffffff’],
[‘#ffffff’,‘#ffffff’,‘#ffffff’,‘#ffffff’,‘#ffffff’,‘#ffffff’,‘#ffffff’],
[‘#ffffff’,‘#ffffff’,‘#ffffff’,‘#ffffff’,‘#ffffff’,‘#ffffff’,‘#ffffff’],
[‘#ffffff’,‘#ffffff’,‘#ffffff’,‘#ffffff’,‘#ffffff’,‘#ffffff’,‘#ffffff’],
]
photo = TkPhotoImage.new
photo.put(dat)
photo.put(dat, 20, 0, 50, 50)
TkButton.new(nil, ‘image’=>photo, ‘command’=>proc{exit}).pack
Tk.mainloop
–
Hidetoshi Nagai (nagai@ai.kyutech.ac.jp)