前回は画像の色を一括置換するアプリを作成しましたが、今回は画像を分割するアプリを作成します。

この画像を

このように分割します。

デザイナで以下のようなものを作成します。

[ファイルを選択]がクリックされたら画像ファイルが選択された場合は縦横を指定された数で分割します。分割されたファイルはそのファイルがあったフォルダ内にoutputという名前のフォルダを作成して、(元のファイル名)_x○_y○という名前で保存します。

ファイルが選択されたらSplitImageメソッドで画像を分割します。

そのまえに本当に選択されているファイルが画像ファイルかどうか確認する必要があります。Image.FromFileメソッドを実行して例外が発生しなければ画像ファイルであると判断することができます。

出力先フォルダがなければ作成します。

ファイルパスからフォルダのパスと画像ファイルの名前を取得する必要があるのでFileInfoクラスを使用しています。ファイル名から拡張子を取り除いたファイル名を取得して、そのあとに分割されたファイルのどの部分なのかがわかるように_x○_y○をつけます。

あとは画像ファイルから必要な部分をトリミングしてファイルとして保存しています。