Available in LEADTOOLS Imaging Pro, Vector, Document, and Medical Imaging toolkits. |
LBitmapRgn::SetRgnCurve
#include "ltwrappr.h"
virtual L_INT LBitmapRgn::SetRgnCurve(pCurve)
pCURVE pCurve; |
/* pointer to a structure */ |
Creates or updates the region of the class object's associated bitmap by adding a curved region.
Parameter |
Description |
pCurve |
Pointer to the CURVE structure that specifies the curve region. The structure is specified using device context coordinates, and LEADTOOLS translates the coordinates using the values specified in the LBitmapRgn::SetRgnXForm parameter. |
Returns
SUCCESS |
The function was successful. |
< 1 |
An error occurred. Refer to Return Codes. |
Comments
To update an existing region, use the LBitmapRgn::SetRgnCombineMode function to specify how the new region is to be combined with the existing one. For descriptions of the possibilities, refer to Creating a Bitmap Region.
Required DLLs and Libraries
LTDIS For a listing of the exact DLLs and Libraries needed, based on the toolkit version, refer to Files To Be Included With Your Application. |
Platforms
Win32, x64.
See Also
Functions: |
LBitmapRgn::CurveToBezier, LBitmapRgn::SetRgnColorHSVRange, LBitmapRgn::SetRgnColorRGBRange, Class Members |
Topics: |
|
|
|
|
|
|
|
|
Example
L_INT LBitmapRgn__SetRgnCurveExample(LBitmap & Bitmap) { L_INT nRet; CURVE curve; POINT pt[5]; L_INT nWidth = Bitmap.GetWidth(); L_INT nHeight = Bitmap.GetHeight(); LBitmapRgn Region; pt[0].x = nWidth / 4; pt[0].y = nHeight / 4; pt[1].x = nWidth / 4; pt[1].y = 3 * nHeight / 4; pt[2].x = 3 * nWidth / 4; pt[2].y = 3 * nHeight / 4; pt[3].x = nWidth / 2; pt[3].y = nHeight / 2; pt[4].x = 3 * nWidth / 4; pt[4].y = nHeight / 4; curve.uStructSize=sizeof(CURVE); curve.nType = CURVE_STANDARD; curve.nPointCount = sizeof(pt) / sizeof(pt[0]); curve.pPoints = pt; curve.uFillMode = L_POLY_WINDING; curve.dTension = 0.5; curve.nClose = CURVE_CLOSE; curve.nReserved = 0; Region.SetBitmap(&Bitmap); nRet =Region.SetRgnCurve(&curve); if(nRet !=SUCCESS) return nRet; nRet =Bitmap.Invert(); if(nRet !=SUCCESS) return nRet; nRet =Region.Free(); if(nRet !=SUCCESS) return nRet; return SUCCESS; }