本帖最后由 mimi122 于 2011-02-27 13:19:59 编辑

解决方案 »

  1.   

    可以先读入其它一幅完整的BMP文件,修改BITMAPFILEHEADER+BITMAPINFOHEADER中相应的成员变量。针对数据,要先要转换类型,byte型就可以了(印象中是这样的)。把原先图像中的数据的指针指向你的这一堆数据。数据的排列顺序什么的还是有些讲究的,如图像是多少位的,r,g,b的顺序,多少行多少列,是从下往上还是从上往下等。
    自从开始看论文后就没怎么写过程序了,记忆中是这样的。
      

  2.   

    建立一块内存DC,把文字输出到里面,比方TextOut(),然后把这块内存当做位图数据保存。
      

  3.   

    补充: CClientDC  mDC(pW);
    CDC        dcMem;
    dcMem.CreateCompatibleDC(&mDC);
    dcMem.SelectObject(BitMap);
    mDC.StretchBlt(left.x, left.y, m_sizeDoc.cx, m_sizeDoc.cy, &dcMem, 0, 0, m_sizeDoc.cx, m_sizeDoc.cy, SRCCOPY);在mDC和dcMem都可以TextOut(),效果不一样,试试吧!
      

  4.   

    你先弄清楚BITMAPFILEHEADER和BITMAPINFOHEADER这两个结构体的更成员的意思,然后就可以比较容易的根据你获得的数据生成一幅BMP图像
      

  5.   

    一个颜色位数少于24的BMP图像文件,包含一下数据段:
    位图文件头;
    位图信息头;
    颜色表;
    像素数据;你说的输入一串数据来生生bmp图像,如果是颜色位数小于24位的,那可以用这些数据,来作为第四部分的像素数据,然后具体每个数值代表的RGB的值是多少,就看你的颜色表里索引号位这个值所对应的RGB分别为多少!