WPF で Bitmapはいきなり悩みますねー

image WPFでBitmapを使おうとすると、

Bitmap オブジェクトがない

ことに気がつきます。ないんですよね。BitmapImage オブジェクトがあるのでまぁ、そちらを使うのですがこういうこと一つ一つが WinForm からの移行の障壁になるんですよね。

また、BitmapImage からサイズを取得する際に、WidthとHeightプロパティでとっていたらどうしてもうまくいかない。で、プロパティをずっと眺めてみたら、PixelWidthと、PixelHeightがあるじゃないですか。これでようやく解決。

あとは、Image コントロールのSource と BimapImage オブジェクトとの関係ですね。ファイルからならUriで指定すればいいのですが、Bitmapオブジェクトからでは、BmpBitmapDecoder オブジェクトを作ってこれでコンバートしたりして、結構面倒。

WPFの場合コントロールと、エレメントの間で決定的に違いがありその間では簡単なやり取りができず、コンバーターなどを使う必要があります。こういう意識を持っていないと思わぬところではまりますね。