2010-11-11 23 views
1

我有一些位圖。 我知道位圖格式是PixelFormat.FormatXXXXXXbppRgb =>但我想動態地計算每個像素的大小。我如何知道每個像素的位圖顏色大小是多少?

例如=>如果位圖像素格式Format24bppRgb我想要計算的R/G/B的範圍爲0至255。

所以,我不知道如何獲得的信息在Format24bppRgb的情況下,R/G/B位大小爲3. 或格式爲Format32bppRgb的R/G/B位大小爲4.

PS:我不想使用代碼

BitmapData bmDateFrame = bitmap.LockBits(....) 
Int32 picPixelBit = bmDateFrame.Stride/bitmap.Width; 
+0

字節大小,而不是位大小,你有他們混在一起。 – leppie 2010-11-11 07:25:00

回答

1

看來PixelFormat VALU的第2個字節(LSB) e表示。

做這樣的事情應該工作:

var somepixelformat = ...; 

var colorsizeinbits = (((int)somepixelformat) >> 8) & 0xff; 
相關問題