WPFでメモリビットマップ

様々な画像やオブジェクトを扱うクラスを作成中なのですが、C++で言うところのメモリビットマップ的な考えが無いような気がする。
あるウィンドウの中に描画する際にはCanvasが定石っぽいが、それで合っているのだろうか。
なんかCanvasってお絵描きするためのツールがそろっているような感じがするのだが、その線の長さや円の面積やら画像解析向きではないような気がする。
結局WPFでありながらC++的なコードを書いてしまいそうだ。