如何处理动画。
我想在想做一段动画,带有一个BMP文件作为背景。可是我在上面绘图的时候内存中的BMP文件也就被修改了。
我尝试这在内存中方两幅图片一张用来存放原始的,另一张用来在DC中绘制。所以每一次重绘的时候都要复制一下该图片。但是这样做的效率太低了。有没有高手指点一下啊?

解决方案 »

  1.   

    不太懂你的意思,是不是先不bmp文件读到内存中然后就每次用都把它拷贝成新 的位图用于显示每一次都刷新就重新拷贝一次。我是这样做的,但是 这样太占用资源。我的其他工作就没有 办法 作 了。
      

  2.   

    我很奇怪楼主在绘图的时候,背景图象怎么会被破坏,实际上,开辟一张原始图区域,将这图放入内存DC,然后在内存DC上绘图就行了,怎么会那么罗嗦呢?
      

  3.   

    例如
    OnDraw(CDC* pDC)
    {
    m_pBitmap
    pDC->SelectObject(pBitmap);
    pDC->MoveTo(0,0);
    pDC->LineTo(m_pt.x,m_pt.y);
    }
    //m_pt是一个变动的点
    m_pBitmap是一个指向Cbitmap的指针。
    你是以吸取就知道了。
    我的做法是每一次都从内存的另外一个地方拷贝给m_pBitmap但是效率低下