画像にモザイクをかけるアプリを作成します。

画像全体にモザイクをかける

まずは画像全体にモザイクをかけるプログラムを作成します。ボタンをクリックすると[ファイルを開く]ダイアログが出てきて選択したファイルが画像ファイルであれば、そこにoutputというフォルダを作成してそのなかにファイルを保存します。

自作メソッドであるPixelizationメソッドをつかって画像にモザイクをかけます。

Pixelizationメソッドはファイルが画像ファイルであればそれにモザイクをかけます。

イメージを10ピクセルで分割してそのなかから平均的な色を取得します。平均的な色とは赤、緑、青の要素の値の平均値から作り出される色のことです。取得した色で新しいビットマップを作成してこれをファイルとして保存しています。

選択された範囲だけモザイクをかける

次に画像全体ではなく選択された範囲だけにモザイクをかける処理をするプログラムを作成します。

このようにフォームにピクチャーボックスを貼り付けたものを作成します。

コンストラクタではピクチャーボックスをフォーム内いっぱいに表示させる処理とマウスがクリックされたり移動したときのイベントハンドラを定義しています。

メニューの[ファイルを開く]が選択されたら画像ファイルのイメージをピクチャーボックスに表示します。

ピクチャーボックスでマウスがクリックされたらisMouseDownフラグをセットしてドラッグが開始された点の座標を保存します。

マウスがドラッグされたら(isMouseDownフラグがセットされている状態でマウスが移動したら)選択されている部分がわかるように長方形を描画します。

GetRectangleメソッドは2点から矩形を取得するためのメソッドです。

マウスが離されたらフラグをクリアします。

[ファイルを保存する]が選択されたら矩形内の部分だけモザイクをかけて画像をファイルとして保存します。

矩形内をトリミングしてその部分だけモザイクをかけます。そして画像全体と合成してファイルとして保存します。

メニューの[範囲選択をクリア]を選択するとstartとendのデータをクリアして範囲選択を解除します。