一个读图片问题。

sunnyes2008 2012-07-23 09:32:06
我把一张320X240 16位的图片读到一个WORD* 指针里面。然后要分成600次第次发送256个字节的数据。划分时出现了问题。
在红色标记那个个部分。

bool CSerial2Dlg::defReadFile()
{

CFileDialog FileDlg(TRUE,NULL,"*.bmp",OFN_HIDEREADONLY|OFN_OVERWRITEPROMPT,"*.bmp",NULL);
if( FileDlg.DoModal()== IDOK)
{
if((filename = FileDlg.GetFileName()) < 2)
{
return FALSE;
}
FILE *fp;
int i=0;
WORD offset ;

if((fp = fopen(filename.GetBuffer(0),"r"))== NULL)
{
AfxMessageBox("open file had failed!");

}
else{
fseek(fp,10,SEEK_SET);
fread(&offset,2,1,fp);
fseek(fp,offset,SEEK_SET);

fread(bmp_buf,2,BMPSIZE/2,fp);

fclose(fp);
}

PackageData();
}
return TRUE;
望高手们指点一二。
}



void CSerial2Dlg::PackageData()
{
int m_index ,m_dataindex;
int temp =0;


for(m_index = 1;m_index < BMPSIZE/DATAOFPER/2 ;m_index++)

{
for (m_dataindex = 0; m_dataindex <256;m_dataindex++)
{
t_data.m_data[m_dataindex] = *(bmp_buf++); temp++;
}
t_data.m_start = 0XAA;
t_data.m_lenght = DATAOFPER;
t_data.m_code = 0X01;
t_data.m_Add = m_index*256;

// SendData ();
}
t_data.m_start = 0XAA;
t_data.m_lenght = DATAOFPER;
t_data.m_code = 0X02;
t_data.m_Add = m_index * 256;
m_dataindex = 0;
while (m_dataindex < 256)
{
t_data.m_data[m_dataindex++];
}
// SendData();
}
...全文
43 回复 打赏 收藏 转发到动态 举报
写回复
用AI写文章
回复
切换为时间正序
请发表友善的回复…
发表回复

1,649

社区成员

发帖
与我相关
我的任务
社区描述
VC/MFC 非技术类
社区管理员
  • 非技术类社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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