2012-04-05 26 views
1

我有一個圖像,並希望讀取特定區域中的像素值。爲什麼BitmapData.Stride會忽略傳遞給LockBits的矩形的大小?

我認爲作爲LockBits()方法的第一個參數的矩形在那裏允許指定子部分。雖然在調試時,我注意到BitmapData.Stride的值是原始位圖的寬度的3倍,而不是矩形的寬度的3倍。

這是爲什麼?我誤解了矩形參數的用途嗎?

回答

2

它爲GDI +提供了一種方法來優化像素數據到內存的映射。使用較小的矩形需要更少的內存頁面。邁步是一樣的,是原始位圖的跨步。無論矩形的大小如何,在索引位圖中的掃描線時都必須使用該值。

0

這樣做,它可以爲您提供一個指向已分配的緩衝區的指針,而不是分配一個新的並將像素數據複製到它。

相關問題