西澤です。
> > > GdkImlibを使って画像のサムネイルを作りたいと思って
> > > とりあえずテスト用に
> > > 短いスクリプトを組んでみようと思ったのですが、
> > > APIの表もどこにもないし、困り果ててしまいました。
> > > 一応以下のようにすると縮小画像を生成することまではできるのですが、
> > > このpixmapを保存する手段がわかりません。
> > > もしやりかたがわかるのでしたらば教えてもらえませんでしょうか?
> > im.save(filename)
> > でいけると思いますが。
> >
> 私もこれでいけると思ったのですが、
> これだと、画像のサイズが変わりません。
すいません。
試してなかったもので。
少々強引ですが以下のようにするとできます。
#!/usr/local/bin/ruby
require 'gtk'
require 'gdk_imlib'
if(ARGV.size != 1)
print $0, " filename\n"
exit
end
filename = ARGV.shift
window = Gtk::Window.new(Gtk::WINDOW_TOPLEVEL)
window.set_title(filename)
window.signal_connect('destroy'){ exit }
window.signal_connect('delete_event'){ exit }
vbox = Gtk::VBox.new(false, 0)
window.add(vbox)
vbox.show
im = GdkImlib::Image.new(filename)
im.render(120, 90)
pixd, maskd = im.get_pixmap
pixmap = Gtk::Pixmap.new(pixd, maskd)
pixmap.show
mask = Gdk::Bitmap.new(pixmap.window,*pixd.get_geometry[2..3])
GdkImlib::Image.create_from_drawable(pixd,mask,*pixd.get_geometry[0..3]).save("aa.png")
vbox.pack_start(pixmap, true, true, 0)
window.show
Gtk.main
----------
Seiya Nishizawa
se...@ku...
|