не эллипс наверное, а скругленный прямоугольник
есть несколько способов, но судя по коду, удобнее будет такой:
| Код | hrgn = ::CreateRoundRectRgn(8.6*dXPix,9.7*dYPix,7.6*dXPix,6.6*dYPix,20,20); size = ::GetRegionData(hrgn,0,NULL); lpRgnData = (LPRGNDATA)malloc(size); ::GetRegionData(hrgn,size,lpRgnData); ::DeleteObject(hrgn); hrgn = ::ExtCreateRegion(xform,size,lpRgnData); free(lpRgnData);
|
xform - матрица преобразований для поворота (как ее формировать, смотри в поиске по ключам XFORM и поворот) ExtCreateRegion, после всех манипуляций, создаст регион, повернутый на заданный угол (исходя из матрицы), который можно дальше использовать как обычно, т.е. рисовать, заполнять, отсекать, исключать, что-угодно |