LeadTools DigitalPaint提供以下功能以填充区域:
这些功能需要:
有效的油漆手柄。
可选的Windows设备上下文。
用于控制填充操作的必要信息。
这些功能将根据当前填充属性填充区域。要确定当前的填充属性,请致电l_pntgetProperty。要设置或更改当前填充属性,请致电l_pntsetProperty。有关填充属性的更多信息,请参阅绘画结构体。
填充功能使用不同的方法来填充区域。这l_pntfillsurface功能填充了一个区域,从指定点开始,并在各个方向上继续,其中包含指定的颜色,落在一定的公差范围内。上和下部公差设置在画画结构中。这l_pntfillborder功能填充一个区域,从指定点开始,然后沿各个方向继续,直到找到指定的颜色,落在一定的公差范围内。这l_pntfillcolorreplace将使用当前填充属性替换每个像素。
任何转换信息都应使用l_pntsetTransformation调用任何填充或其他绘画功能之前的功能。要获取当前的转换信息,请致电l_pntgetTransformation。
要从特定点选择颜色,请致电l_pntpickcolor。
以下示例设置设备上下文边界,设置填充属性,设置数字绘制指标属性,然后执行颜色更换。它假设油漆句柄已经初始化,并且窗口手柄和铅映射手柄有效:
HDC HDC;
画填充;
rect rcdcextents;
/ *获取设备上下文绘制 */
hdc = getDC(hwnd);
/ *获取目的地DC尺寸 */
getClientRect(hwnd,&rcdcextents);
/ *设置工具箱用户DC Extentes */
l_pntsetDcextents(ppaint,&rcdcextents);
/ *设置所需的填充属性 */
fill.nsize =大小(绘画);
fill.dwmask = pff_style;
fill.nstyle = paint_fill_style_gradient;
/*设置新的填写属性 */
l_pntsetProperty(ppaint,paint_group_fill和填充);
/*选择位图到油漆手柄*/
l_pntsetMetrics(ppaint,null,&hleadbitmap,null);
/*填充目标区域在DC(HDC)和当前选择的位图*/
l_pntfillcolorreplace(ppaint,hdc,rgb(255,0,0));
/ *发布设备上下文 */
reparec(HWND,HDC);
此示例使用该功能l_pntsetdcextents。此功能对于填充所需区域至关重要。用户应定义提供给填充功能的DC的边界。提供的尺寸将以像素为单位。要获取先前设置的直流边界,请致电l_pntgetDcextents功能。