package require Img pack [canvas .can -width 100 -height 70] image create photo foo -file hana.jpg .can create image 0 0 -image foo -anchor nw |
image create pixmap -file filename image create pixmap -data data |
photoイメージの場合は以下のコマンド形式を使います。
dataはBASE64エンコード形式またはバイナリ形式(Tcl8.3〜)で指定します。
image create photo -file filename image create photo -data data |
read時の形式とオプションです。
"bmp" | ||
"gif -index <n>" | ||
"jpeg -fast -grayscale" | ||
"png" | ||
"tiff" | ||
"xbm" | ||
"xpm" | ||
"postscript -index <n> -zoom <x> <y>" | (-index not yet implemented) | |
"window" | (works only with "-data", not "-file") |
write時の形式とオプションです。
"bmp" | ||
"gif -interlaced <bool>" | (-interlaced not yet implemented) | |
"jpeg -quality <n> -smooth <n> -grayscale -optimize -progressive" | ||
"png Author <name> Title <title> Description ....." Each pair of arguments will add a named text chunk to the file. |
||
"tiff -compression <compression> -byteorder <byteorder>" | ||
"xbm" | ||
"xpm" |
オプションの意味は以下の通りです。
-background C: | use color C as background color for transparent parts of the image. | |
-byteorder: | Byteorder for TIFF file. Should be one of bigendian, littleendian, network, smallendian or {}. Default: {} | |
-compression: | Compression for TIFF file. Should be one of none, jpeg, packbits or deflate. Default: none. | |
-fast: | Fast, low-quality processing. | |
-grayscale: | Force incoming image to grayscale/ Create monochrome file. | |
-index N: | Select one of the sub-images (GIF and postscript only, not yet implemented for postscript). Default value: 0 | |
-interlaced N: | N=1: interlaced. N=0: non-interlaced (not yet implemented). | |
-optimize: | Optimize Huffman table. | |
-progressive: | Create progressive file (JPEG only). | |
-quality N: | Compression quality (0..100; 5-95 is useful range). Default value: 75 | |
-smooth N: | Perform smoothing (10-30 is enough for most GIF's). Default value: 0 | |
-zoom X Y: | Multiply image size by given scale factors. If Y is missing, the default is the same as X. X and Y are allowed to be in floating point format, but they are rounded to the nearest practically possible value. For postscript this means the zoom factors should be multiples of 1/72. |
package require Img package require BLT namespace import blt::* image create photo foo image create photo bar -width 128 -height 96 foreach photo [glob *.jpg] { if {[string first {$} $photo] != -1} { continue } set out [file rootname $photo]\$.jpg if [file exists $out] { continue } foo read $photo winop resample foo bar box bar write $out -format "jpeg -quality 91 -optimize -smooth 30" } |