Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2005.02.27;
Скачать: CL | DM;

Вниз

Рисование по hBitmap   Найти похожие ветки 

 
Strech   (2005-01-06 07:25) [0]

Помогите решить простую задачу: есть некоторый hBitmap, нужно на нем нарисовать линию. Функция LineTo использует некоторый HDC. Вопрос, собственно, как получить для hBitmap контекст hdc? Bitmap имеет отличные от экрана число цветовых плоскостей и число битов цвета на пиксель.


 
tesseract   (2005-01-06 11:46) [1]

hdc - это контекст устройства

вот пример из MSDN

// Create a normal DC and a memory DC for the entire screen. The
// normal DC provides a "snapshot" of the screen contents. The
// memory DC keeps a copy of this "snapshot" in the associated
// bitmap.

hdcScreen = CreateDC("DISPLAY", NULL, NULL, NULL);
hdcCompatible = CreateCompatibleDC(hdcScreen);

// Create a compatible bitmap for hdcScreen.

hbmScreen = CreateCompatibleBitmap(hdcScreen,
                    GetDeviceCaps(hdcScreen, HORZRES),
                    GetDeviceCaps(hdcScreen, VERTRES));

if (hbmScreen == 0)
   errhandler("hbmScreen", hwnd);

// Select the bitmaps into the compatible DC.

if (!SelectObject(hdcCompatible, hbmScreen))
   errhandler("Compatible Bitmap Selection", hwnd);

       // Hide the application window.

       ShowWindow(hwnd, SW_HIDE);

        //Copy color data for the entire display into a
        //bitmap that is selected into a compatible DC.

       if (!BitBlt(hdcCompatible,
              0,0,
              bmp.bmWidth, bmp.bmHeight,
              hdcScreen,
              0,0,
              SRCCOPY))

       errhandler("Screen to Compat Blt Failed", hwnd);

       // Redraw the application window.

       ShowWindow(hwnd, SW_SHOW);


 
Strech   (2005-01-10 04:26) [2]

Это все понятно. Только у дисплея стоит 32 бита на пиксель, а Bitmap может иметь как 32 так и 1 бит/пиксель и мне нужено получить контекст с соответствующей цветовой организацией.


 
tesseract   (2005-01-11 10:45) [3]

Не понял вопроса - вот тебе канва на которой рисуешь нужным цветом.
Она такая какую девайс предоставляет те 32 бита. Цветность - это уже формат файла



Страницы: 1 вся ветка

Текущий архив: 2005.02.27;
Скачать: CL | DM;

Наверх




Память: 0.47 MB
Время: 0.052 c
8-1100475341
Seriy
2004-11-15 02:35
2005.02.27
Сетка на изображении


8-1100370479
londinium
2004-11-13 21:27
2005.02.27
about ScanLine


1-1108211901
Koshak
2005-02-12 15:38
2005.02.27
Timer


1-1108021065
KingDog
2005-02-10 10:37
2005.02.27
вот знаете что то при n = 31 не считает


3-1106818386
Innuendo
2005-01-27 12:33
2005.02.27
IBTable и View в FireBird