我从文件中打开bmp图像,将像素数据读入内存,自己创建一CBITMAP,将内存指针与CBITMAP相连,然后CScrollView::ondraw函数中显示,结果图像上下倒了,"TEXT"映射模式,y坐标可否改变,如何做?

解决方案 »

  1.   

    BMP位图中数据区域的最低地址存的是图象的最底一行,它是自下而上存储的
      

  2.   

    你指的“内存指针与CBITMAP相连”是什么意思?
      

  3.   

    内存指针与CBITMAP相连是指
    m_pBitmap=new CBitmap;
    m_pBitmap->CreateBitmap(pDoc->m_Bmp.m_Width,pDoc->m_Bmp.m_Height,1,1,pDoc->m_Bmp.ArPixel);
    其中char * ArPixel已用malloc申请内存,存放从文件中read块读入的图像像素数据
    难道必须ArPixel中数据进行重新处理,才能把图像正过来
      

  4.   

    if m_Bmp 是那幅已打开的位图的话,试试这个:
    m_pBitmap->CreateBitmapIndirect(&(pDoc->m_Bmp));
    你那个问题容我想想,Arpixel具体长什么样呢?
      

  5.   

    谢谢大家的热心帮助,我对m_ArPixel数据变换一下,ok!,