簡易画像編集ソフトをつくる

これまで

画像の拡大と縮小
色の置換と反転
上下左右の反転
文字を入れる

といった処理をするアプリを作成してきました。

今回はこれらを総合的にできるアプリの作成を目指します。Windowsに付属しているペイントで充分ではないのかと思われるかもしれませんが、自分自身のスキル向上のために作成します。

画像を表示させるユーザーコントロールを作成する

画像を編集する以上、画像ファイルを開く処理が必要です。

デザイナでユーザーコントロールを作成します。ピクチャーボックスにスクロールバーがくっついています。

コントロールがリサイズされたとき、ピクチャーボックスになにかが描画されたときはスクロールバーの状態も変更しなければならない場合があります。OptimizationScrloolBarはそのためのメソッドです。

ShowBitmapメソッドはスクロールバーの状態から元画像のトリミングすべき領域をトリミングしてこれを表示させるメソッドです。

縦横のスクロールバーでスクロールがおこなわれた場合、ピクチャーボックスに描画される画像を変更する必要があります。そのためShowBitmapメソッドで描画しなおしています。

GetBitmapDrawPictureBoxメソッドはスクロールバー位置より元画像をトリミングして取得するためのものです。以下のようになっています。

次にメインフォームですが・・・

こんな感じにしました。

画像ファイルを開く処理

[ファイルを開く]がクリックされたらこれで画像ファイルを開くことができます。

UserControlImageクラスのLoadImageFileメソッドはこのようになっています。

ClearScrollInfoメソッドはスクロールをリセットするためのメソッドです。

画像を保存する処理

[別名で保存]がクリックされたら名前をつけて画像ファイルを保存することができます。

[上書き保存]がクリックされたら編集中のファイルを上書き保存することができます。