TclMagickの使い方
をテンプレートにして作成
[
Front page
] [
Page list
|
Search
|
Recent changes
|
RSS of recent changes
]
Start:
***目次
#contents
よく使うコマンドとか、ありがちな処理の例とかのクイックリ...
***基本的な使い方
-オブジェクトの作成と削除
set w [magick create wand]
magick delete $w
unset w
-オブジェクトの種類
set w [magick create wand]
set p [magick create pixel]
set d [magick create draw]
サンプル(BMPをJPGに変換する)
package require TclMagick
set wand [magick create wand]
$wand read test.bmp
$wand write test.jpg
magick delete $wand
基本的な使い方はこんな風にしてwandオブジェクトを作り、画...
ImageMagick/GraphicsMagickの情報を表示する
magick library
***ファイルの情報を取得する
#縦横幅
$wand width
$wand height
#ファイルフォーマット
$wand format
#バイト数
$wand imagesize
#SHA-256の署名
$wand signature
#使われている色の総数
$wand colors
#色々な情報を出力する
$wand describe
***色空間の設定と変更
#色空間の取得
$wand colorspace
#色空間の変更
$wand colorspace GRAY
使える色空間は次のとおり。
--undefined
--RGB
--GRAY
--transparent
--OHTA
--LAB
--XYZ
--YCbCr
--YCC
--YIQ
--YPbPr
--YUV
--CMYK
--sRGB
--HSL
--HWB
***色深度の設定と取得
#色深度の取得
$wand depth r
#色深度の取得
$wand depth r 8
チャンネルごとの取得と設定
$wand channeldepth r
$wand channeldepth r 16
Q8版を使っているときは16bitに設定することはできないようだ。
***ピクセルカラーのセット/ゲット
-X、Yの色を取得
package require TclMagick
set i [magick create wand]
$i read test.png
set x 10
set y 10
binary scan [$i GetPixels $x $y 1 1 {RGBA} char] cccc r ...
set r [expr $r & 0xFF]
set g [expr $g & 0xFF]
set b [expr $b & 0xFF]
set a [expr $a & 0xFF]
Tclのbinary scanではunsigned char型で読めないので、読み込...
-X、Yに色を出力
package require TclMagick
set i [magick create wand]
$i read test.png
set x 10
set y 10
set r 255
set g 128
set b 0
set a 255
$i SetPixels $x $y 1 1 {RGBA} char [binary format c* [li...
-いちいちバイナリ変換するのは使い勝手が悪いので、tkimage...
package require TclMagick
package require TkMagick
set wand [magick create wand]
$wand read test.bmp
image create photo temp
#wandのデータをtkimageに移す
magicktophoto $wand temp
#x=10,y=10のピクセルの読み込み
temp get 10 10
#x=10, y=10のピクセルへ白を出力
temp put #FFFFFF -to 10 10
#tkimageのデータをwandに移す
phototomagick temp $wand
***サイズ変更
-半分のサイズにする
$wand minify
-倍のサイズにする
$wand magnify
-指定のサイズに変更
$wand resize 256 256 gaussian 10.0
$wand scale 256 256
これはどちらも同じくサイズを指定のサイズに変更するコマン...
undefined, point, box, triangle, hermite, hanning, hammin...
-指定のサイズに変更(色を補完しない)~
拡大処理で追加の色を補完しません。要するに使ってる色を増...
$wand sample 256 256
-倍率でサイズ変更する~
これはコマンドではできません。zoomとかあると思ったんです...
proc zoom {wand xzoom yzoom} {
set w [expr int([$wand width] * $xzoom)]
set h [expr int([$wand height] * $yzoom)]
return [$wand scale $w $h]
}
zoom $wand 0.5 0.5
***回転
回転は領域外のピクセルのオブジェクトを作る必要があります。
#領域外は黒で30度回転
set wand [magick create wand]
set black [magick create pixel]
$black set red 0.0 green 0.0 blue 0.0
$wand read sample.jpg
$wand rotate $black 30
***イメージリストの管理
複数のイメージはリストで管理されています。たとえば
$w read test1.jpg
$w read test2.jpg
のように連続して複数の画像を読み込んだ場合、読み込んだ順...
#持ってるイメージの数
$wand number
#イテレータの初期化
$wand resetiterator
#次のイメージがあるかどうか
$wand hasnext
#前のイメージがあるかどうか
$wand hasprevious
#次のイメージに移動
$wand next
#前のイメージに移動
$wand previous
#削除
$wand remove
//***出力フォーマットの詳細
//-Jpeg
//-Gif
***Tkとの連携
(書く予定)
***リンク
-http://tclmagick.sourceforge.net/
-http://www.graphicsmagick.org/
***コメントをどーぞ
#comment
----
[[CategoryTclTk]]
End:
***目次
#contents
よく使うコマンドとか、ありがちな処理の例とかのクイックリ...
***基本的な使い方
-オブジェクトの作成と削除
set w [magick create wand]
magick delete $w
unset w
-オブジェクトの種類
set w [magick create wand]
set p [magick create pixel]
set d [magick create draw]
サンプル(BMPをJPGに変換する)
package require TclMagick
set wand [magick create wand]
$wand read test.bmp
$wand write test.jpg
magick delete $wand
基本的な使い方はこんな風にしてwandオブジェクトを作り、画...
ImageMagick/GraphicsMagickの情報を表示する
magick library
***ファイルの情報を取得する
#縦横幅
$wand width
$wand height
#ファイルフォーマット
$wand format
#バイト数
$wand imagesize
#SHA-256の署名
$wand signature
#使われている色の総数
$wand colors
#色々な情報を出力する
$wand describe
***色空間の設定と変更
#色空間の取得
$wand colorspace
#色空間の変更
$wand colorspace GRAY
使える色空間は次のとおり。
--undefined
--RGB
--GRAY
--transparent
--OHTA
--LAB
--XYZ
--YCbCr
--YCC
--YIQ
--YPbPr
--YUV
--CMYK
--sRGB
--HSL
--HWB
***色深度の設定と取得
#色深度の取得
$wand depth r
#色深度の取得
$wand depth r 8
チャンネルごとの取得と設定
$wand channeldepth r
$wand channeldepth r 16
Q8版を使っているときは16bitに設定することはできないようだ。
***ピクセルカラーのセット/ゲット
-X、Yの色を取得
package require TclMagick
set i [magick create wand]
$i read test.png
set x 10
set y 10
binary scan [$i GetPixels $x $y 1 1 {RGBA} char] cccc r ...
set r [expr $r & 0xFF]
set g [expr $g & 0xFF]
set b [expr $b & 0xFF]
set a [expr $a & 0xFF]
Tclのbinary scanではunsigned char型で読めないので、読み込...
-X、Yに色を出力
package require TclMagick
set i [magick create wand]
$i read test.png
set x 10
set y 10
set r 255
set g 128
set b 0
set a 255
$i SetPixels $x $y 1 1 {RGBA} char [binary format c* [li...
-いちいちバイナリ変換するのは使い勝手が悪いので、tkimage...
package require TclMagick
package require TkMagick
set wand [magick create wand]
$wand read test.bmp
image create photo temp
#wandのデータをtkimageに移す
magicktophoto $wand temp
#x=10,y=10のピクセルの読み込み
temp get 10 10
#x=10, y=10のピクセルへ白を出力
temp put #FFFFFF -to 10 10
#tkimageのデータをwandに移す
phototomagick temp $wand
***サイズ変更
-半分のサイズにする
$wand minify
-倍のサイズにする
$wand magnify
-指定のサイズに変更
$wand resize 256 256 gaussian 10.0
$wand scale 256 256
これはどちらも同じくサイズを指定のサイズに変更するコマン...
undefined, point, box, triangle, hermite, hanning, hammin...
-指定のサイズに変更(色を補完しない)~
拡大処理で追加の色を補完しません。要するに使ってる色を増...
$wand sample 256 256
-倍率でサイズ変更する~
これはコマンドではできません。zoomとかあると思ったんです...
proc zoom {wand xzoom yzoom} {
set w [expr int([$wand width] * $xzoom)]
set h [expr int([$wand height] * $yzoom)]
return [$wand scale $w $h]
}
zoom $wand 0.5 0.5
***回転
回転は領域外のピクセルのオブジェクトを作る必要があります。
#領域外は黒で30度回転
set wand [magick create wand]
set black [magick create pixel]
$black set red 0.0 green 0.0 blue 0.0
$wand read sample.jpg
$wand rotate $black 30
***イメージリストの管理
複数のイメージはリストで管理されています。たとえば
$w read test1.jpg
$w read test2.jpg
のように連続して複数の画像を読み込んだ場合、読み込んだ順...
#持ってるイメージの数
$wand number
#イテレータの初期化
$wand resetiterator
#次のイメージがあるかどうか
$wand hasnext
#前のイメージがあるかどうか
$wand hasprevious
#次のイメージに移動
$wand next
#前のイメージに移動
$wand previous
#削除
$wand remove
//***出力フォーマットの詳細
//-Jpeg
//-Gif
***Tkとの連携
(書く予定)
***リンク
-http://tclmagick.sourceforge.net/
-http://www.graphicsmagick.org/
***コメントをどーぞ
#comment
----
[[CategoryTclTk]]
Page:
HTML convert time: 0.002 sec.