Как разместить изображение в определенном месте 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, вы можете разместить его где угодно.