Bitmap Bitmapdata ソース c#

f:id:gotozyukai:20111219002953p:image
ボタンコントロールのイベントだけ記載。
「選んだ画像を黒く塗りつぶす」ことができます
動作環境 visual studio C# 2010

用途は、これを改造して、誰かしらの画像フォルダの中のファイルを全て白くして、「えっ何これ何これ!」という状態に持ち込み、見れなくする嫌がらせとかできるっ・・・・!

・・・。

実用的なのは、ディスプレイの任意の範囲をキャプチャして、その範囲で何か変化があれば~~という処理を実行する。みたいなもの。これできればネトゲでかなり稼げる。(+仮想pcで

解説:
bitmapのlockbitsメソッドを使って、メモリにロード。
BitmapDataのScan0メソッドでビットマップ内の最初のピクセル データのアドレスを取得。それをadrに代入。
リトルエンディアン形式で、青→緑→赤の順番で並んでいるのでadr[posi]が青。
Strideは画像のスキャン幅。unsafeのブロック内でポインタを使ってrgbデータを弄る。
あとは保存都下の処理。

bitmapクラスはbitmapを表示、bitmapdataは任意の座標のピクセル色を取得・設定したりできる。
メモリ上で弄ったデータはbitmapクラスのインスタンスに反映されてる。

ポインタ操作の所以外簡単。

自分用のメモなので文脈とかめちゃくちゃ。

スポンサーリンク

シェアする

  • このエントリーをはてなブックマークに追加

フォローする

スポンサーリンク