如何将24位位图中的图像数据存入一维数组中(要求一维数组中的图像数据也是24位的)

Songzhiq 2004-09-02 04:45:05
//下面的代码该如何修改??十分感谢!!
BYTE *ptr;
Graphics::TBitmap *pBitmap;
unsigned char Buffer[320*240*3];
pBitmap = new Graphics::TBitmap();

pBitmap->Assign((TPersistent*)Form1->Image1->Picture->Graphic);//图像大小为320*240
pBitmap->PixelFormat=pf24bit;
pBitmap->PixelFormat=pf24bit;
for(int i = 0 ; i < pBitmap->Height ; ++i)
{
ptr = (BYTE*)pBitmap->ScanLine[i];
for( int j = 0 ; j<pBitmap->Width ; j++)
{
Buffer[ i*pBitmap->Width+j*3 ] = ptr[j*3];
Buffer[ i*pBitmap->Width+j*3+1 ] = ptr[j*3+1];
Buffer[ i*pBitmap->Width+j*3+2 ] = ptr[j*3+2];
}
}
...全文
155 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
Songzhiq 2004-09-02
  • 打赏
  • 举报
回复
//笨死了。这样就可以了,:)



Buffer[ i*pBitmap->Width*3+j*3 ] = ptr[j*3];
Buffer[ i*pBitmap->Width*3+j*3+1 ] = ptr[j*3+1];
Buffer[ i*pBitmap->Width*3+j*3+2 ] = ptr[j*3+2];
Songzhiq 2004-09-02
  • 打赏
  • 举报
回复
大侠,我的意思是那个数组里的图像数据要求是一个像素用3个字节来表示的
Songzhiq 2004-09-02
  • 打赏
  • 举报
回复
大侠,我的意思是那个数组里的图像数据要求是一个像素用3个字节来表示的
guanri 2004-09-02
  • 打赏
  • 举报
回复
多位数组和一维数组有区别么?

13,825

社区成员

发帖
与我相关
我的任务
社区描述
C++ Builder相关内容讨论区
社区管理员
  • 基础类社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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