木曜日, 12月 07, 2006

「なでしこ」でいろいろ画像処理

昨日は、画像のリサイズをプログラムで行うことで、「なでしこ」の画像処理の感覚をつかんでみたのだが、「なでしこ」には、画像リサイズの他にも便利な画像処理命令がたくさんある。

画像処理
http://nadesi.com/doc/cmd-func.htm#382

今日は、その中のいくつかを試してみる。各ボタンの機能は下記の通りです。

・リサイズ・・・・読み込んだ画像を項目記入で指定した大きさにする
・右回転・・・・右に90度回転(連続して処理が可能)
・回転・・・・項目記入で指定した角度で右回転(連続して処理が可能)
・グレー・・・・グレーススケールにする
・保存・・・・保存ファイルダイアログを出して処理画像を保存
・再読込・・・・項目記入で指定した原画像に戻す
・項目記入・・・・項目記入画面を出して再入力ができるようにする
・終了・・・・画面をクローズしてプログラムを終了


//画像変換
母艦のタイトル="画像変換"; 母艦のW=670; 母艦のH=530

入力項目=「画像選択=?f
横SIZE=?(640|480|320|240|160|120|80|60|40|30)320
縦SIZE=?(640|480|320|240|160|120|80|60|40|30)240
回転角=0


画像WKとはイメージ

項目入力()

BTX=12; BTY=440; BTS=80

リサイズボタンとはボタン; そのX=BTX+BTS*0;そのY=BTY
リサイズボタンをクリックした時は
 画像リサイズ(画像WK,横WK,縦WK)

右回転ボタンとはボタン; そのX=BTX+BTS*1;そのY=BTY
右回転ボタンをクリックした時は
 画像右回転(画像WK)

回転ボタンとはボタン; そのX=BTX+BTS*2;そのY=BTY
回転ボタンをクリックした時は
 画像回転(画像WK,角WK)

グレーボタンとはボタン; そのX=BTX+BTS*3;そのY=BTY
グレーボタンをクリックした時は
 画像グレイスケール(画像WK)

保存ボタンとはボタン; そのX=BTX+BTS*4;そのY=BTY
保存ボタンをクリックした時は
 画像保存(画像WK,保存ファイル選択("*.jpg"))

再読込ボタンとはボタン; そのX=BTX+BTS*5;そのY=BTY
再読込ボタンをクリックした時は
 画像WKの画像=画像FL

項目記入ボタンとはボタン; そのX=BTX+BTS*6;そのY=BTY
項目記入ボタンをクリックした時は
 項目入力()

終了ボタンとはボタン; そのX=BTX+BTS*7;そのY=BTY
終了ボタンをクリックした時は
 終了

●項目入力()
 入力内容=項目記入(入力項目)
 もし(入力内容@画像選択!="")ならば
  画像FL=入力内容@画像選択; 画像WKの画像=画像FL
 ここまで
 横WK=入力内容@横SIZE
 縦WK=入力内容@縦SIZE
 角WK=入力内容@回転角

//ここまで



こんな簡単なプログラムで、ちょっとした画像処理ができてしまう。