Копирование картинки.

Тема в разделе "WASM.WIN32", создана пользователем Quark, 20 ноя 2007.

  1. Quark

    Quark New Member

    Публикаций:
    0
    Регистрация:
    7 авг 2007
    Сообщения:
    211
    Я создаю виртуальное окно. в него необходимо скопировать несколько картнок из ресурсов. получается примерно следующее:
    Код (Text):
    1.             hDcDialog       = GetDC(hWnd);
    2.             hDcMemory       = CreateCompatibleDC(hDcDialog);
    3.             hMemoryWindow   = CreateCompatibleBitmap(hDcDialog,Dx,Dy); // виртуальное окно
    4.  
    5.             SelectObject(hDcMemory,hMemoryWindow);
    6.            
    7.             hBitmapNumbers  = LoadBitmap(hModule,MAKEINTRESOURCE(IDB_BITMAP1));
    8.             hBitmapSymbols  = LoadBitmap(hModule,MAKEINTRESOURCE(IDB_BITMAP2));
    Для копирования картнок из hBitmapNumbers и hBitmapSymbols в hMemoryWindow обязательно нужно создавать ещё один DC?
    Код (Text):
    1. hDcTmp = CreateCompatibleDC(hMemoryWindow);
    2. SelectObject(hDcTmp,hBitmapNumbers);
    3. BitBlt(hMemoryDC,x1,y1,cx1,cy1,hDcTmp,0,0,SRCCOPY);
    или можно скопировать как-то попроще?
     
  2. q_q

    q_q New Member

    Публикаций:
    0
    Регистрация:
    5 окт 2003
    Сообщения:
    1.706
    Quark
    hMemoryDC это что? hMemoryWindow?
     
  3. Quark

    Quark New Member

    Публикаций:
    0
    Регистрация:
    7 авг 2007
    Сообщения:
    211
    hWnd - хендл реального окна. для него создаём конекст hDcMemory, виртуальное окно hMemoryWindow.
     
  4. Quark

    Quark New Member

    Публикаций:
    0
    Регистрация:
    7 авг 2007
    Сообщения:
    211
    Есть ещё один вопрос. Можно ли в ресурсах хранить картинку одного размера, а при выводе растягивать её?
     
  5. S_Alex

    S_Alex Alex

    Публикаций:
    0
    Регистрация:
    27 авг 2004
    Сообщения:
    561
    Адрес:
    Ukraine
    API CopyImage
    Можно с маштабированием и без.
     
  6. CnCVK

    CnCVK New Member

    Публикаций:
    0
    Регистрация:
    9 авг 2006
    Сообщения:
    108
    можно использовать функцию StretchBlt при выводе вместо BitBlt.
     
  7. Quark

    Quark New Member

    Публикаций:
    0
    Регистрация:
    7 авг 2007
    Сообщения:
    211
    Пасиб. закрыто.