あさりのみそしるダイアリー

ココロおだやかに暮らしてます😌

複製がうまくいかない

イメージ 1

画面のキャプチャを1枚だけとるのであれば、BitmapSourceでいいのですが、画面の複製をするには、連続的に撮らないといけません。
1秒間にせめて5フレームはほしい。

しかし、タイマーでぶんまわすと、メモリをあっという間に消化してしまいます。
BitmapSourceは解放もできません。

なので、WriteableBitmapとMemoryStreamの出番です。
画面のキャプチャがSystem.DrawingのBitmapと、そのGraphicsからしかやれない感じだったので、生成したBitmap(これは破棄できる)のGraphicsにデスクトップ画面をぶっこんで([Graphicsインスタンス].CopyFromScreen)、これを[Bitmapインスタンス].SaveでMemoryStreamに保存します。

共用のWriteableBitmapのWritePixelsで、MemoryStreamの中身で常に内容を書き換えれば、メモリを無駄にとることなる、決まった領域だけで描画を更新できます。

しかし、Bitmap生成の指定ミスでしょうけど、複製された画面イメージの色がおかしい。
なんでやねん(´・ω・`)

まぁ、単純な理由なんでしょうけど、こんな時間なのでぼけているんでしょうね。
寝て起きたらすぐ解決・・・?



v0.30aのなりそこないです。
寝ます(´・ω・`)