3 / 3 / 2
Регистрация: 05.02.2013
Сообщений: 433
1

Вывод цветного изображения в оконом режиме DirectDraw

25.10.2013, 20:15. Показов 829. Ответов 0
Метки нет (Все метки)

Всем привет. Пытаюсь вывести цветное изображение в оконном режиме. Почему то выводит , только в градациях серого. В дебагере увидел, что все маски dw#BitMask равны 0. Предположил , что в этом косяк. Дальше начал делать следующее, попытался добавить маски руками, но почему то поверхность не создаётся:

C++
1
2
3
4
5
6
desc.ddpfPixelFormat.dwRGBAlphaBitMask =  0xFF000000;
    desc.ddpfPixelFormat.dwRBitMask        =  0x00FF0000;
    desc.ddpfPixelFormat.dwGBitMask        =  0x0000FF00;
    desc.ddpfPixelFormat.dwBBitMask        =  0x000000FF;
    desc.ddpfPixelFormat.dwRGBBitCount = 32;
    desc.ddpfPixelFormat.dwSize = sizeof(DDPIXELFORMAT);

Возвращает ошибку E_INVALIDARG

Не понимаю, что ему ещё надо.


C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
    // Создать объект DirectDraw
    res = DirectDrawCreateEx(NULL,(VOID**) &lpDDraw,IID_IDirectDraw7, NULL);
    if( Success( hMainWnd,res,L"функция DirectDrawCreateEx") == FALSE ) return FALSE;
        
    // Установить режим кооперации
    res = lpDDraw->SetCooperativeLevel(hMainWnd, DDSCL_NORMAL  );
    if( Success( hMainWnd,res,L"функция SetCooperativeLevel") == FALSE ) return FALSE;   
 
    DDSURFACEDESC2 desc;
    ZeroMemory( &desc,sizeof(desc) );
    desc.dwSize = sizeof( desc );
    desc.dwFlags = DDSD_CAPS| DDSD_PIXELFORMAT ;
    desc.ddsCaps.dwCaps = DDSCAPS_PRIMARYSURFACE;
 
    desc.ddpfPixelFormat.dwRGBAlphaBitMask =  0xFF000000;
    desc.ddpfPixelFormat.dwRBitMask        =  0x00FF0000;
    desc.ddpfPixelFormat.dwGBitMask        =  0x0000FF00;
    desc.ddpfPixelFormat.dwBBitMask        =  0x000000FF;
    desc.ddpfPixelFormat.dwRGBBitCount = 32;
    desc.ddpfPixelFormat.dwSize = sizeof(DDPIXELFORMAT);
 
    // Создать первичной поверхности
    res = lpDDraw->CreateSurface(&desc,&lpDDrawSurfPrimary,NULL);
    if( Success( hMainWnd,res,L"функция CreatSurfaces lpDDrawSurfPrimary") == FALSE ) return FALSE;
__________________
Помощь в написании контрольных, курсовых и дипломных работ, диссертаций здесь
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
25.10.2013, 20:15
Ответы с готовыми решениями:

Вывод цветного текста в графическом режиме
Помогите написать задачку) Юзаю PascalABC)) Суть: Вводится слово. Вывести гласные буквы слова...

Изменение яркости цветного изображения
Задание Изменение яркости цветного изображения. Производится путем либо умножения каждой цветовой...

Изменение размерности цветного изображения
Доброго времени суток. Имеется цветное изображение с размерностью (M x N x 3), оно разделено на...

Преобразование цветного изображения в черно-белое
Помогите пожалуйста написать программу, выполняющую преобразование цветного изображения в...

0
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
25.10.2013, 20:15
Помогаю со студенческими работами здесь

Перевод цветного изображения в черно-белое
Здравствуйте, нужно перевести цветное изображение в черно-белое (не в серо-белое), но я в этом...

Реализовать фильтрацию цветного RGB-изображения
Реализовать фильтрацию цветного RGB-изображения преобразовав в пространство HSI скользящей...

Как происходит обесцвечивание цветного изображения?
Всем привет, задался таким вопросом При сочетании горячих клавиш в фотошопе (ctrl + U) происходит...

Перевод цветного изображения в черно-белое
Нуждаюсь в помощи для реализации такой задачи: визуализировать изображение в оттенки серого. Qt для...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
1
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2022, CyberForum.ru