Scanline 属性相当于哪个API啊???

54gym 2005-02-23 01:16:44
谢谢了,在线等.
...全文
113 9 打赏 收藏 转发到动态 举报
写回复
用AI写文章
9 条回复
切换为时间正序
请发表友善的回复…
发表回复
fkeumtdh 2005-03-02
  • 打赏
  • 举报
回复
学习中
王集鹄 2005-02-27
  • 打赏
  • 举报
回复
//
tagBITMAP = packed record
bmType: Longint;
bmWidth: Longint;
bmHeight: Longint;
bmWidthBytes: Longint;
bmPlanes: Word;
bmBitsPixel: Word;
bmBits: Pointer;
end;

通过偏移tagBITMAP.bmBits计算出来
54gym 2005-02-24
  • 打赏
  • 举报
回复
计算一个Bitmap的第n行数据的起始地址, 是不是获得象素点呢? GetPixel行吗?
jishiping 2005-02-24
  • 打赏
  • 举报
回复
GetPixel 获得一个点的颜色,而ScanLine获得的是第n行数据的起始地址(就是像素的BGR值或者索引值)。如果只是获取一个点或者少数几个点,当然是用GetPixel好,但是如果要或者连续的很多个点的颜色值,此事应该用ScanLine,如果还用GetPixel的话,程序的速度就太慢了。
tanlim 2005-02-24
  • 打赏
  • 举报
回复
季老大说的是,
有时,很多人都认为,VCL非常模拟。
jishiping 2005-02-23
  • 打赏
  • 举报
回复
Graphics::TBitmap 是BCB中的类型,C里面有这个类型吗?所以你让大家怎么转成C的代码啊?

其实 ScanLine 只是计算一个Bitmap的第n行数据的起始地址,不是调用某一个API函数就可以实现的。
54gym 2005-02-23
  • 打赏
  • 举报
回复
这个代码是BC++的,如何转成C啊???
Graphics::TBitmap* bmp;
for(int y = 0; y <400; y++)
{
BYTE * ptr = (BYTE *)bmp->ScanLine[y];
}
54gym 2005-02-23
  • 打赏
  • 举报
回复
比如这个怎么转成C ?
for(int y = 0; y <400; y++)
{
BYTE * ptr = (BYTE *)bmp->ScanLine[y];
}
54gym 2005-02-23
  • 打赏
  • 举报
回复
GetPixel 吗?

1,221

社区成员

发帖
与我相关
我的任务
社区描述
C++ Builder Windows SDK/API
社区管理员
  • Windows SDK/API社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧