BITMAPINFO是一个结构,那就可以通过Format把结构里的各字段转换成字符串

解决方案 »

  1.   

    我觉得你需要的是把这个结构转换成char*的指针而不是转换成字符串吧,具体得看你的编码方法而定。
      

  2.   

    恩,我试了用字符数组不行,图像无法显示。这样可以
    BITMAPINFO  *Bitmap ;
    BITMAPINFO  *BItmap2;Bitmap2=Bitmap2;
    这样图像可以显示。
    而分开后
    Bitmap2->bmiHeader=Bitmap->bimHeader;
    Bitmap2->bmiColors[1]=Bitmap->bmiColors[1];
    图像无法显示。
    还有BITMAPINFO可以进行曼彻斯特编码吗?
      

  3.   

    高手教一下如何用char*转换吧。
      

  4.   

    Coding(BITMAPINFO *pBmp)
    {
        char *pBuf = (char*)pBmp;
        
        // 这里就可以用pBuf来编码了:
    }
      

  5.   

    为什么你要转换为字符?曼彻斯特编码是基于bit的编码。所以用unsigned char*或者LPBYTE。如果强转为char*,曼彻斯特编码,然后解码,再转,那结果跟编码前就是两回事了。
      

  6.   

    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++;
    }
    我的编码是这样的,高手指点一下位图的编码吧。