画像を白黒反転させるには

画像をつくってみたものの白と黒を反転させたくなることがあり、白黒反転させるアプリをつくりました。一度にまとめて処理をすることができるので便利です。

使い方は簡単。フォームの上にドロップするだけで画像ファイルがあったフォルダにoutputというフォルダをつくってそこに保存します。

まずはファイルのドラッグ&ドロップに対応できるように、AllowDropプロパティをtrueにします。

次にファイルがドロップされたときにDragDropイベントが発生するようにOnDragOverメソッドをオーバーライドします。

次にファイルがドロップされたときの処理をするためにOnDragDropメソッドをオーバーライドします。

ドロップされたファイルのパスから出力先のファイルパスを求めます。

とやればファイルがあるフォルダのパスがわかるので

とやれば出力先のフォルダパスを取得することができます。

実際にファイルを保存するためにはフォルダが存在する必要があります。

以下はフォルダがあるかどうか調べてなければ作成するコードです。

次に画像を反転させるメソッドを作成します。GetColorReverseBitmapメソッドは色を反転させたビットマップを返すメソッドです。透過色は黒として出力します。

ドロップされたファイルは画像ファイルではないかもしれません。その場合は例外が発生するのでcatch文で処理をします。

そしてGetColorReverseBitmapメソッドがnull以外を返したときは処理は成功したとみなしてファイルを出力先に保存します。

ファイルがドロップされたときに呼ばれるOnDragDropメソッドを示します。出力用のフォルダを作成して白黒反転させたファイルを保存します。