L_PntRegionColor

# include“LtPnt.h”

L_LTPNT_APIL_INTL_PntRegionColor(油漆,UserDC, crColor, phDestRgn)

创建包含指定颜色的区域。

参数

pPAINTHANDLEpPaint

指向油漆句柄的指针。

L_HDCUserDC

要用作显示表面的设备上下文(如屏幕)的句柄。该参数也可以为NULL。设备上下文的映射模式必须为MM_TEXT。

常量也就是说crColor

COLORREF值,指定用于创建区域的颜色。

pHRGNphDestRgn

指向要用结果区域更新的区域句柄的指针。

返回

价值 意义
成功 活动很成功。
< 1 发生错误。指返回代码

评论

区域创建过程将使用当前区域属性执行。要确定当前区域属性,请调用L_PntGetProperty.要设置或更改当前区域属性,请调用L_PntSetProperty.有关区域属性的详细信息,请参阅PAINTREGION结构。

在创建新区域时,该函数还将使用当前绘画转换信息。要获取当前绘画转换信息,请调用L_PntGetTransformation.要更改或设置绘画转换信息,请调用L_PntSetTransformation

如果用户在工具箱中设置了位图,则使用该函数L_PntSetMetrics,然后工具箱将为位图创建区域。否则,工具箱将为指定的设备上下文创建区域。

如果UserDC不为NULL,用户应该在调用此函数之前设置DC边界L_PntSetDCExtents

下面的图像显示了单击黄色区域内创建的区域。

u9.gif
u10.gif

必需的dll和库

另请参阅

功能

主题

例子

L_INT pntregioncoloreexample (HWND HWND)L_INT nRet;油漆;HDC HDC;PAINTSHAPE形状;RECT rcShape;rcDCExtents;HRGN HRGN;/*启动Paint工具箱*/nRet = L_PntInit (&pPaint);如果(SUCCESS != nRet)返回nRet;获取要在*/上绘制的设备上下文hDC = GetDC (hWnd);/*设置所需的形状属性*/形状。nSize =运算符(漆形);形状。dwMask = PSF_BORDERWIDTH | . dwMask = PSF_BORDERWIDTHPSF_BORDERCOLOR |PSF_BORDERENDCAP |PSF_BACKGROUNDSTYLE |PSF_GRADIENTSTARTCOLOR |PSF_GRADIENTENDCOLOR;形状。nBorderWidth = 10;形状。crBorderColor = RGB (0, 255,0);形状。nBorderEndCap = PAINT_SHAPE_BORDER_ENDCAP_ROUND;形状。nBackgroundStyle = PAINT_SHAPE_BACK_STYLE_GRADIENT;形状。crGradientStartColor = RGB (255, 255, 255);形状。crGradientEndColor = RGB (255,255,0);/*设置形状属性*/nRet = L_PntSetProperty(油漆,PAINT_GROUP_SHAPE, &形状);如果(nRet != SUCCESS)返回nRet;/*设置DC尺寸的坐标*/SetRect (&rcShape, 10,10,60,60);/*获取目标DC尺寸*/GetClientRect (hWnd, &rcDCExtents);/*设置toolkit用户DC区*/nRet = L_PntSetDCExtents(油漆,&rcDCExtents);如果(nRet != SUCCESS)返回nRet;/*使用当前形状属性绘制一个椭圆到DC (hDC) */nRet = L_PntDrawShapeEllipse(油漆,hDC, &rcShape);如果(nRet != SUCCESS)返回nRet;SetRect (&rcShape, 100, 10, 150, 60);nRet = L_PntDrawShapeEllipse(油漆,hDC, &rcShape);如果(nRet != SUCCESS)返回nRet;SetRect (&rcShape, 60, 60, 95, 95);nRet = L_PntDrawShapeRectangle(油漆,hDC, &rcShape);如果(nRet != SUCCESS)返回nRet;SetRect (&rcShape, 10,100,60,150);nRet = L_PntDrawShapeEllipse(油漆,hDC, &rcShape);如果(nRet != SUCCESS)返回nRet;SetRect (&rcShape, 100,100,150,150);nRet = L_PntDrawShapeEllipse(油漆,hDC, &rcShape);如果(nRet != SUCCESS)返回nRet;/*创建区域*/nRet = L_PntRegionColor(油漆,hDC, RGB (0, 255,0), &hRgn);如果(nRet != SUCCESS)返回nRet;/*显示创建的区域*/FrameRgn (hDC, hRgn, (HBRUSH) GetStockObject (BLACK_BRUSH), 1,1);/*释放设备上下文*/ReleaseDC (hWnd, hDC);/*删除区域*/DeleteObject (hRgn);/*释放油漆工具手柄*/L_PntFree(油漆);返回成功;
LEADTOOLS Digital Paint C API帮助
188金宝搏的网址客服|支持|联系我们|知识产权公告
©1991 - 2021领德科技有限公司版权所有。