请问delphi 的图像格式中,其像素的数据是按什么顺序存放的,我怎么取得它在内存中的地址(50分)

  • 主题发起人 主题发起人 dyzw
  • 开始时间 开始时间
D

dyzw

Unregistered / Unconfirmed
GUEST, unregistred user!
请问delphi的图像(image,picture,bitmap,graphic)格式中,其像素的数据是按什么顺序存放的,我怎么取得它在内存中的地址,或者有什么对应资料也可以
 
image.picture.graphic.loadfromfile('c:/xxx');
image.picture.graphic.savetofile('c:/xxxx');
 
楼上没明白我的意思
bitmap的图像,其每个像素点的RGB分量是如何保存在内存中的,其格式是什么样子,我怎么取得它的内存地址
 
关于图象的像素存放问题:
不知你问的是RGB图像还是灰度图像?
要是RGB图像就为3*m*n的矩阵形式;三个m*n矩阵分别为R,G,B的值!
要是灰度图像则就是一个二维矩阵其值为0—255之间的值
 
楼上说得很对,这就是看图像的pixelformat是(...pf8bit,pf24bit...),但不管哪种格式,它的存贮格式是什么样的呢?
举例说明:其像素点是从左上开始,还是左下开始,还是其他位置?
RGB三色分量是按什么顺序存贮的,是RGBRGB...RGB,还是GBRGBR...GBR,还是BGRBGR...BGR?
还有就是我如何取得其像素点的内存地址?
 
DIB:左下开始,BGR,内存地址:bmp.scanline[bmp.height-1],内存大小:bmp.width*bmp.height*[每个像素点的字节数]
 
接受答案了.
 

Similar threads

S
回复
0
查看
3K
SUNSTONE的Delphi笔记
S
S
回复
0
查看
2K
SUNSTONE的Delphi笔记
S
D
回复
0
查看
2K
DelphiTeacher的专栏
D
D
回复
0
查看
1K
DelphiTeacher的专栏
D
后退
顶部