MemDc是否有大小限制,memdc是否可以自已控制开辟内存的大小
MemDc是否有大小限制,我的程序当memdc大概开辟7333pixel * 7333pixel时(32位真彩色),就不显示了,是否有办法解决,memdc是否可以自已控制开辟内存的大小

解决方案 »

  1.   

    memdc只是开辟的内存,当然可以自己控制大小
      

  2.   

    CBitmap bmp;
    CDC dcMemory;
          dcMemory.CreateCompatibleDC(pDC);      // Select the bitmap into the in-memory DC
          CBitmap* pOldBitmap = dcMemory.SelectObject(&bmp);
    开辟7333pixel * 7333pixel,
    bmp.bmWidth=7333; 
    bmp.bmheight=7333; 
      

  3.   

    问题就在于你定义bmp.bmWidth=7333; 
    bmp.bmheight=7333;其实是无效的。你可以试一下!
      

  4.   

    要调用相关的CBitMap::Create****去创建位图资源对象(这时就要分配内存)
    dcMemory.SelectObject(&bmp)才会生效
    SelectObject表明引用系统对象
      

  5.   

    Bmp.CreateCompatibleBitmap(pDC,Width,Height);
      

  6.   

    Bmp.CreateCompatibleBitmap(pDC,Width,Height);
    用这个函数是没错,但当你把Width*Height设的太大时,这个memdc就无效了
    我用时设为7333*7333,编译不出错,但画在memdc上的的东西不会画在屏幕上
    (把范围设小就没问题了)
      

  7.   

    memdc的最大限度,在通常的程序處理中是很少會踫到的。
    是個挑戰的問題,或者和硬件設備有關
      

  8.   

    DDB是有内存大小限制的而且98和2000还不一样
    大家可以试一下