二进制文件读取图片数据并显示的问题

这是一个账号007 2013-06-08 03:40:29


void CDocumentTestView::OnDraw(CDC* /*pDC*/)
{
CDocumentTestDoc* pDoc = GetDocument();
ASSERT_VALID(pDoc);
if (!pDoc)
return;

// TODO: 在此处为本机数据添加绘制代码

CBitmap BitMapTest;
unsigned char DataBuf[160000]={0};
unsigned char ShowBuf[120000]={0};
FILE *fp=fopen("data.txt","rb+");
int ShowCount=0,DataCount=0;
//txt里面是存着99 00 00 FF连续的数据 大小160000字节
//下面的操作是舍弃99 把读到的B G R数据存到ShowBuf里面去
for (int i=0;i<200;i++)
{
for(int j=0;j<800;j++)
{
if(j%4==0)
{
int temp=getc(fp);
}
else
{
DataBuf[DataCount]=getc(fp);
ShowBuf[ShowCount]=DataBuf[DataCount];
ShowCount++;
DataCount++;
}
}
}
unsigned char EncodeBuf[200*200*3]={0};
//把前面的BGR转换成RGB
for (int k=0;k<200*200;k++)
{
EncodeBuf[k*3]=ShowBuf[k*3+2];
EncodeBuf[k*3+1]=ShowBuf[k*3+1];
EncodeBuf[k*3+2]=ShowBuf[k*3];
}

SetBitmapBits(BitMapTest,200*200*3,EncodeBuf);

CPaintDC dc(this);
CDC pmemDC;
pmemDC.CreateCompatibleDC(&dc);
pmemDC.SelectObject(BitMapTest);
dc.BitBlt(0,0,200,200,&pmemDC,0,0,SRCCOPY);

fclose(fp);
}



图片,没出来。
我不太懂 ,有可能函数什么的用错了。
恳求指导下。
...全文
132 回复 打赏 收藏 转发到动态 举报
写回复
用AI写文章
回复
切换为时间正序
请发表友善的回复…
发表回复

19,468

社区成员

发帖
与我相关
我的任务
社区描述
VC/MFC 图形处理/算法
社区管理员
  • 图形处理/算法社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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