画像を正しい順番に、リストにドロップしてくれることを前提に、 あとは全自動でやっちゃうのがいいかなと思って作りました。
そして次は…、「画像分割」です。(^_^)
実は、連結・分割を利用したスクリーンセーバーを作るための 研究段階だったのかもしれません。これだけで実用的なのに、 スクリーンセーバーにした途端、非実用的になってしまいそう。(^_^;)
=====
'画像分割
母艦の、テキストは、「画像分割」 ラベル0を、ラベルとして、作成。 その、テキストは、「何行×何列?」 エディタ0を、エディタとして、作成。 その、テキストは、「2」 その、キー押した時は、もし、押されたキー=13ならば、連結開始。 エディタ1を、エディタとして、作成。 その、テキストは、「2」 その、キー押した時は、もし、押されたキー=13ならば、連結開始。 実行ボタンを、ボタンとして、作成。 その、イベントは、分割開始。 イメージ0を、イメージとして、作成。{結果表示用} その、Yは、10 その、Xは、150 イメージ1を、イメージとして、作成。{作業用} その、可視は、オフ。 ファイルメニューを、メニュー作成。 ファイルメニューに、開くメニューを、メニュー追加。 その、イベントは、( 「画像|*.png;*.jpg;*.bmp;*.gif|全て|*.*」の、読み込みファイル選択。 もし、それ=「」ならば、待機。 「\n」までを、切り取る。 イメージ0の、画像は、それ。 )
'母艦の、テキストは、(イメージ0の、幅)&「,」&(イメージ0の、高さ){デバッグ用} 待機。
*分割開始 「bmp|*.bmp|png|*.png|jpg|*.jpg|*|*.*」の、書き込みファイル選択。 もし、それ=「」ならば、待機。 ファイル名は、それ。 {フルパスを、拡張子と、それ以外に分ける} ファイル名から、拡張子を切り出す。 ファイル拡張子は、それ。
それは、ファイル名 ファイル拡張子を、「」に、置換。 ファイル名は、それ。 {分割画像1枚当たりの幅と高さ} 横は、整数((イメージ0の、幅)/エディタ1) 縦は、整数((イメージ0の、高さ)/エディタ0) {画像を分割} y1=0 ファイル連番=1 エディタ0回( x1=0 もし、回数=エディタ0ならば、( {下端の画像の高さは、残った余り} イメージ1の、高さは、(イメージ0の、高さ)-(エディタ0-1)*縦。 y2=y1+(イメージ1の、高さ) ) 違えば、( イメージ1の、高さは、縦。 y2=y1+縦 ) エディタ1回( もし、回数=エディタ1ならば、( {右端の画像の幅は、残った余り} イメージ1の、幅は、(イメージ0の、幅)-(エディタ1-1)*横。 x2=x1+(イメージ1の、幅) ) 違えば、( イメージ1の、幅は、横。 x2=x1+横 ) '「{イメージ1の、幅},{イメージ1の、高さ}」を、言う。{デバッグ用} イメージ0の、(x1,y1,x2,y2)を、イメージ1の、(0,0)に、イメージ部分コピー。 描画処理反映。 {桁揃え連番で保存} 行列=エディタ0*エディタ1 ファイル連番を、(文字数(行列))桁の、ゼロで埋める。 (ファイル名&それ&ファイル拡張子)へ、イメージ1を、イメージ保存。 イメージ1の、画像は、「」 ファイル連番=ファイル連番+1 x1=x1+横 ) y1=y1+縦 ) 待機。
|