Не работает SetWorldTransform из winAPI
Пишу программу на С++ в Embarcadero RAD Studio XE2. Пытаюсь получить изображение с usb камеры и повернуть его на заданный углы. Для работы с камерами использую функции WinAPI. Функция SetWorldTransform возвращает 0 (соответственно изображение не трансформируется), при этом GetLastError возвращает 0. Подскажите, пожалуйста, с чем это может быть связано. За поворот отвечает метод ConcreteCamStreamer::RotateWindow:
void ConcreteCamStreamer::RotateWindow(int _angle)
{
HDC hdc = GetDC(this->captureWindowHwnd_);
XFORM xForm;
xForm.eM11 = (FLOAT) 0.8660;
xForm.eM12 = (FLOAT) 0.5000;
xForm.eM21 = (FLOAT) -0.5000;
xForm.eM22 = (FLOAT) 0.8660;
xForm.eDx = (FLOAT) 0.0;
xForm.eDy = (FLOAT) 0.0;
if (ModifyWorldTransform(hdc, &xForm, MWT_RIGHTMULTIPLY) != 0)
{
ShowMessage("Got it!");
}
else
{
ShowMessage("Ooooops");
}
ReleaseDC(this->captureWindowHwnd_, hdc);
}