|
Imgは、TkのPhotoイメージで読むことができる画像フォーマットを拡張するライブラリです。
これを使うと、下に示すように、現存するほとんどの画像フォーマットの画像データを
Tcl/Tk のPhotoイメージとして使うことができます。
BMP、GIF、ICO、JPEG、PCX、PNG、PPM、
PS、SGI(IRIX RGB)、SUN(RS)、TGA、TIFF、XBM、XPM
Windows向けには、
ActiveTclの中にこれらの画像フォーマットを全てサポートしたバイナリ配布が含まれているので、
これを使えばよいでしょう。
使い方はとても簡単で、単に「package require Img」
と打つだけ。
または、プログラム中でどのフォーマットの画像データを使用するのかが限定されて分かっている場合には、
「package require img::bmp」
のように個別に指定することもできます。
使い方が上記のような簡単極まりない現状なので、
サンプルというほどのものも作れたり作りにくかったりしかねないわけですが、
下のプログラムはtkDNDと一緒に使ったもので、
ウィンドウの中にエクスプローラなどから画像ファイルをドラッグ・ドロップすると、
その画像が表示される、という簡単なビューアです。
package require tkdnd
package require Img
image create photo Image1
label .la -width 100 -height 100 -bg #808080 -image Image1 -relief ridge
bind .la <Button-3> exit
dnd bindtarget .la text/uri-list <Drop> {dropped %D}
proc dropped filenames {
set filename [lindex $filenames 0]
Image1 blank
set command "Image1 read $filename"
if {[catch { eval $command } err]} {
tk_messageBox -message $err
} else {
.la configure -width [image width Image1] -height [image height Image1]
}
}
pack .la -side top -ipadx 20 -pady 10
|
(first uploaded 2003/06/15 last updated 2003/06/15, MISUMI URANO)
|