BITMAPINFO转存到字符数组的问题

yifengzhang 2008-04-01 09:35:03
我要在光纤上传输位图,但是需要把位图进行曼彻斯特编码,编码需要把位图信息结构BITMAPINFO转存到一个字符型数组中,怎么把位图信息结构BITMAPINFO转存到一个字符型数组中.然后如何从字符数组中取出来?
...全文
161 9 打赏 收藏 转发到动态 举报
写回复
用AI写文章
9 条回复
切换为时间正序
请发表友善的回复…
发表回复
yifengzhang 2008-04-03
  • 打赏
  • 举报
回复
unsigned char manCodes[20] = {0x55, 0x56, 0x59, 0x5a, 0x65, 0x66, 0x69, 0x6a,0x95, 0x96, 0x99, 0x9a, 0xa5, 0xa6, 0xa9, 0xaa};
char txbuffer[100]={'a','b','c'};
ULONG index=0,count=0;
while( count != sizeof(txbuffer))//曼彻斯特编码
{
txbuffer[index++]=manCodes[ (txbuffer[count]) & 0xF ];
txbuffer[index++]=manCodes[ (txbuffer[count])>>4) & 0xF ];
count++;
}
我的编码是这样的,高手指点一下位图的编码吧。
yifengzhang 2008-04-03
  • 打赏
  • 举报
回复
怪不得我解码后的结果不对呢,高手能指点一二吗,我现在是没有头绪。
vcPlayer 2008-04-01
  • 打赏
  • 举报
回复
Coding(BITMAPINFO *pBmp)
{
char *pBuf = (char*)pBmp;

// 这里就可以用pBuf来编码了:
}
yifengzhang 2008-04-01
  • 打赏
  • 举报
回复
高手教一下如何用char*转换吧。
yifengzhang 2008-04-01
  • 打赏
  • 举报
回复
恩,我试了用字符数组不行,图像无法显示。这样可以
BITMAPINFO *Bitmap ;
BITMAPINFO *BItmap2;

Bitmap2=Bitmap2;
这样图像可以显示。
而分开后
Bitmap2->bmiHeader=Bitmap->bimHeader;
Bitmap2->bmiColors[1]=Bitmap->bmiColors[1];
图像无法显示。
还有BITMAPINFO可以进行曼彻斯特编码吗?
菜牛 2008-04-01
  • 打赏
  • 举报
回复
我觉得你需要的是把这个结构转换成char*的指针而不是转换成字符串吧,具体得看你的编码方法而定。
scq2099yt 2008-04-01
  • 打赏
  • 举报
回复
up
ouyh12345 2008-04-01
  • 打赏
  • 举报
回复
BITMAPINFO是一个结构,那就可以通过Format把结构里的各字段转换成字符串
foxavideo 2008-04-01
  • 打赏
  • 举报
回复
为什么你要转换为字符?曼彻斯特编码是基于bit的编码。所以用unsigned char*或者LPBYTE。如果强转为char*,曼彻斯特编码,然后解码,再转,那结果跟编码前就是两回事了。

19,469

社区成员

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

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