2012-04-05 10 views
1

私はイメージを持っており、特定の地域のピクセル値を読みたいと思っています。BitmapData.StrideがLockBitsに渡される矩形のサイズを無視するのはなぜですか?

LockBits()メソッドの第1引数である矩形が、サブセクションを指定できるようにするためのものであると仮定しました。しかし、デバッグするとき、私はBitmapData.Strideの値が元のビットマップの幅の3倍であり、長方形の幅の3倍ではないことに気づいた。

これはなぜですか?私は矩形パラメータの目的を誤解しましたか?

答えて

2

GDI +はピクセルデータのメモリへのマッピングを最適化する方法を提供します。小さい方の矩形を使用すると、メモリページが少なくなります。ストライドは元のビットマップのストライドと同じです。また、矩形のサイズにかかわらず、ビットマップ内のスキャンラインをインデックスするときに、その値を使用する必要があります。

0

これにより、新しいバッファを割り当ててピクセルデータをそのバッファにコピーするのではなく、すでに割り当てられているバッファへのポインタが提供されます。

関連する問題