How can I get a rotated region?
-
How can I get a rotated standard region(such as: ellise region, roundrect region)? HRGN hRgn = CreateRectRgn(0,0,220,120); DWORD size = GetRegionData( hRgn, 1, NULL); RGNDATA *pData = (RGNDATA*)GlobalAlloc(GMEM_FIXED|GMEM_MOVEABLE,size); GetRegionData(hRgn, size,pData); double a = 0.5; // 0 xform.eM11 = (float)cos(a); xform.eM12 = (float)sin(a); xform.eM21 = -xform.eM12; xform.eM22 = xform.eM11; xform.eDx = 0; xform.eDy = 0; HRGN hNewRgn = ExtCreateRegion(&xform,pData->rdh.nRgnSize,pData); // failure! why ? GlobalFree(pData); DeleteObject(hRgn); DeleteObject(hNewRgn); Thank you very much!
-
How can I get a rotated standard region(such as: ellise region, roundrect region)? HRGN hRgn = CreateRectRgn(0,0,220,120); DWORD size = GetRegionData( hRgn, 1, NULL); RGNDATA *pData = (RGNDATA*)GlobalAlloc(GMEM_FIXED|GMEM_MOVEABLE,size); GetRegionData(hRgn, size,pData); double a = 0.5; // 0 xform.eM11 = (float)cos(a); xform.eM12 = (float)sin(a); xform.eM21 = -xform.eM12; xform.eM22 = xform.eM11; xform.eDx = 0; xform.eDy = 0; HRGN hNewRgn = ExtCreateRegion(&xform,pData->rdh.nRgnSize,pData); // failure! why ? GlobalFree(pData); DeleteObject(hRgn); DeleteObject(hNewRgn); Thank you very much!
Try with
HRGN hNewRgn = ExtCreateRegion(&xform,size,pData);
Joaquín M López Muñoz Telefónica, Investigación y Desarrollo
-
Try with
HRGN hNewRgn = ExtCreateRegion(&xform,size,pData);
Joaquín M López Muñoz Telefónica, Investigación y Desarrollo
thanl: Joaquín M López Muñoz, now, I can get the rotated region! the modify codes: DWORD size = GetRegionData(hRgn, sizeof(RGNDATA), NULL); RGNDATA *pData = (RGNDATA*)GlobalAlloc(GMEM_FIXED|GMEM_MOVEABLE,size); GetRegionData(hRgn, size,pData); a = 0.5; // 0 xform.eM11 = (float)cos(a); xform.eM12 = (float)sin(a); xform.eM21 = -xform.eM12; xform.eM22 = xform.eM11; xform.eDx = 0; xform.eDy = 0; HRGN hNewRgn = ExtCreateRegion(&xform,size,pData); GlobalFree(pData); DeleteObject(hRgn); CodeProject.com Forum problems or suggestions? Reply to a Message Here you can reply to a message in the current discussion thread Forum Visual C++ Subject: Re: How can I get a rotated region? Sender: Joaquín M López Muñoz Date: 2:45 31 Jan '02