Как разместить изображение в определенном месте Picture Conrol в VC++

Я пытаюсь наложить изображение на живое видео. Используемая среда IDE - Visual Studio Professional 2010. Код разработан на C++. Когда я пытаюсь наложить изображение на живое видео, я загружаю изображение с помощью дескриптора, т.е.

                           HANDLE hBitmap;            

         hBitmap = LoadImage(NULL, L"C:\\Users\\User\\Documents\\Visual Studio 2010\\Projects\\BMP_Image.bmp",IMAGE_BITMAP, 0,0, LR_LOADFROMFILE );

Я использую механизм Alpha Blending для наложения изображения на видео. Проблема, с которой я столкнулся, состоит в том, что изображение накладывается пять раз подряд на видео.

Я передаю идентификатор элемента управления изображением, помещенный в диалоговое окно в файле rc, чтобы загрузить живое видео и отобразить его. Я не использую никаких кодов MFC в коде. Рендеринг видео осуществляется с использованием механизма Direct 2D

Разрешение видео составляет 640*480, а разрешение растрового изображения - 128*128. Если я возьму это растровое изображение, видео будет пять раз накладывать изображение на видео..

Я получил координаты диалогового окна, используя GetWindowRect() и ScreentoClient(). Но я хочу координаты элемента управления изображением.

У меня есть следующие сомнения:

Как получить координаты управления изображением???

Как разместить изображение в определенном месте в элементе управления изображением???

Ждем Вашего положительного ответа как самого раннего...


С Уважением,

Вивек

1 ответ

Вы можете использовать следующую функцию для получения дескриптора элемента управления изображением:

::GetDlgItem( hWnd of your dialog, Id of your picture control)

Получив его дескриптор, вы можете получить другую информацию, такую ​​как его положение, размер и

::GetWindowRect(hWnd, &rc)

Если вы наложите изображение через некоторые вызовы API, такие как StretchBlt, вы можете разместить его где угодно.

Другие вопросы по тегам