[英]C++ Bitmap Bit per pixel
我試圖理解在c ++中基於原始數據構建bmp,我有幾個問題。
我的bmp可以是黑白的,所以我認為在每像素位字段中我應該使用1.然而在很多指南中我看到填充字段添加了位數以保持32位對齊,這意味着我的bmp將與每像素bmp 24位相同的文件大小。
這種理解是正確的還是在某種程度上是每像素1位小於24,32等?
謝謝
單色位圖也是對齊的,但它們不會占用24/32-bpp的空間。
因此,單色位圖當然會小於24位。
上面已經給出了答案(位圖行對齊/填充到32位邊界),但是如果您想要更多信息,可能需要閱讀DIB及其用途 ,“DIB標題”部分 - 它會詳細解釋。
每條掃描線都是DWORD對齊的。 掃描線被緩沖到對齊; 緩沖不一定是0。
掃描線上下顛倒存儲,內存中的第一次掃描(掃描0)是圖像中最下面的掃描。 (參見圖1.)這是Presentation Manager兼容性的另一個工件。 GDI在Set和Get操作期間自動反轉圖像。 圖1.(顯示內存和屏幕表示的嵌入式圖像。)
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.