[問題] BMP資料結構請教
開發平台(Platform): (Ex: Win10, Linux, ...)
WIN7
編譯器(Ex: GCC, clang, VC++...)+目標環境(跟開發平台不同的話需列出)
C++
額外使用到的函數庫(Library Used): (Ex: OpenGL, ...)
Graphics.hpp
問題(Question):
該如何分析1像素1bit的bmp檔
程式碼(Code):(請善用置底文網頁, 記得排版,禁止使用圖檔)
TColor pixelColor = bmp->Canvas->Pixels[x][y]; //抓取像素點[寬][高]的RGB值
r = GetRValue(pixelColor);
g = GetGValue(pixelColor);
b = GetBValue(pixelColor);
補充說明(Supplement):
我用小畫家畫一張簡單的圖,畫布大小是50*60像素
上半部是R=255/G=0/B=0的純紅,下半部是B=255/G=0/R=0的純藍
這時候去讀BMP的結構,OK跟網路上說的一樣我都能看得懂,1CH-1DH=24(1像素24位元),
然後從36H開始分析像素矩陣的RGB都符合原圖
在C++Builber中使用#include <Graphics.hpp>中的GetRValue,GetGValue,GetBValueu也
都正確抓出R/B=255的值
然後使用線上繪圖(photopea)把亮度修改到10%,再去讀BMP的資料,我發現1CH-1DH=1(1
像素1位元),整個像素矩陣我都看不懂了,我上網查是說1bit的圖檔應該是只有黑跟白
https://upload.cc/i1/2023/08/21/ifxceV.png
但是我用GetRValue,GetGValue,GetBValueu指令去抓,反而能抓到紅色和藍色=0x19的值
,轉DEC是25剛好符合255的10%
既然用指令可以抓表示這結構一定是對的,那麼想請問在1像素佔1bit時的像素矩陣要怎
麼去分析
是否有相關關鍵字或書籍名稱可以分享給我,謝謝
--
※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 60.248.158.217 (臺灣)
※ 文章網址: https://www.ptt.cc/bbs/C_and_CPP/M.1692602138.A.DF8.html
推
08/21 16:12,
1年前
, 1F
08/21 16:12, 1F
之前只是稍微看一下知道個大概而以,現在才開始動手
※ 編輯: IOP14759 (60.248.158.217 臺灣), 08/21/2023 16:14:50
→
08/21 16:34,
1年前
, 2F
08/21 16:34, 2F
→
08/21 16:35,
1年前
, 3F
08/21 16:35, 3F
推
08/21 17:37,
1年前
, 4F
08/21 17:37, 4F
→
08/21 20:24,
1年前
, 5F
08/21 20:24, 5F
→
08/21 20:27,
1年前
, 6F
08/21 20:27, 6F
討論串 (同標題文章)
C_and_CPP 近期熱門文章
PTT數位生活區 即時熱門文章