下面是我写的一段从一图象(24位BMP)文件中读取像素信息的代码,
请大家看看有什么不对的地方FILE* stream; //--
char c = '\n';
errno_t err;if( (err = fopen_s( &stream, PathName,/*图象文件*/ "rb" )) != 0 )
return;
else
{
fseek(stream,18,SEEK_SET);
m_lWidth=lRow; //图象高
m_lHeight=lCol; //图象宽传递近来的! fseek(stream,54,SEEK_SET); //找到像素开始位置
for(int i=0;i<m_lHeight;i++)
{
for(int j=0;j<m_lWidth;j++)
{
for(int k=0;k<3;k++)
{
fread(&m_iRGB[m_lHeight-1-i][j][k],1,1,stream);
}
}
}
}
请大家看看有什么不对的地方FILE* stream; //--
char c = '\n';
errno_t err;if( (err = fopen_s( &stream, PathName,/*图象文件*/ "rb" )) != 0 )
return;
else
{
fseek(stream,18,SEEK_SET);
m_lWidth=lRow; //图象高
m_lHeight=lCol; //图象宽传递近来的! fseek(stream,54,SEEK_SET); //找到像素开始位置
for(int i=0;i<m_lHeight;i++)
{
for(int j=0;j<m_lWidth;j++)
{
for(int k=0;k<3;k++)
{
fread(&m_iRGB[m_lHeight-1-i][j][k],1,1,stream);
}
}
}
}
for(int i=0;i<m_lHeight;i++)
{
for(int j=0;j<m_lWidth;j++)
{
for(int k=0;k<3;k++)
{
fread(&m_iRGB[m_lHeight-1-i][j][k],1,1,stream);
}
}
//此处需判断已读字节数是否为 4 的倍数,若不是,需要跳过未使用的字节
}具体记不清了,可以查查相关资料