开发平台(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时的像素矩阵要怎
么去分析
是否有相关关键字或书籍名称可以分享给我,谢谢