画像処理

任意の形のウィンドウを作る

デスクトップアクセサリや、ガジェットを作成する場合は、ウインドウを任意の形に変更したいと考えることが多いと思います。ここでは、2通りの方法を説明します。 System.Windows.Forms.Form.TransparencyKeyプロパティを使う おそらく最も簡単な方法だと思…

BitmapData.Strideプロパティ

コメント欄にて情報を頂きましたので、追記しておきます。 1行のバイト数を取得するBitmapData.Strideプロパティという便利なものがあるということで、早速使ってみました。 int width = this.bitmap.Width; int height = this.bitmap.Height; int strideIn …

ビットマップのデータ構造

前エントリに示したコードのバグ 前エントリの最後に書いたバグの話です。 前エントリで示したコードでは、壁紙サイズ等の無難なサイズの画像ではうまく動きますが、半端な画像サイズでは、以下のように、出力結果が不正となります。 実際にどのような画像で…

フルカラービットマップからグレースケールビットマップへの変換

下準備(プロジェクトの作成) Winfowsフォームアプリケーションを新規作成します。プロジェクト名は、ImageFiltersとしておきます。 以下のようなフォームを作成します。 ボタンを2つ、パネルを1つ、(パネル内に)ピクチャボックスを1つ配置します。 2つのボタ…