設置 | 登錄 | 註冊

目前共有6篇帖子。

【用法】ExtFloodFill顏色填充函数的用法

1樓 巨大八爪鱼 2016-7-7 23:27
【FLOODFILLBORDER模式】
// 设置线条颜色为红色
SelectObject(hdc, GetStockObject(DC_PEN));
SetDCPenColor(hdc, RGB(255, 0, 0));
// 画三条线
MoveToEx(hdc, 50, 50, NULL);
LineTo(hdc, 400, 130);
MoveToEx(hdc, 380, 50, NULL);
LineTo(hdc, 240, 540);
MoveToEx(hdc, 260, 510, NULL);
LineTo(hdc, 60, 40);
// 设置填充颜色为青色
SelectObject(hdc, GetStockObject(DC_BRUSH));
SetDCBrushColor(hdc, RGB(0, 255, 255));
// 填充
ExtFloodFill(hdc, 200, 200, GetDCPenColor(hdc), FLOODFILLBORDER);

2樓 巨大八爪鱼 2016-7-7 23:29
FLOODFILLBORDER模式是根据边框颜色填充。边框的颜色必须为参数4指定的颜色。如果边框不是封闭的,或者不是由一种颜色组成的,那么颜色就会填满整个客户区。
3樓 巨大八爪鱼 2016-7-7 23:31
【FLOODFILLSURFACE模式】
// 设置线条颜色为红色
SelectObject(hdc, GetStockObject(DC_PEN));
SetDCPenColor(hdc, RGB(255, 0, 0));
// 画三条线
MoveToEx(hdc, 50, 50, NULL);
LineTo(hdc, 400, 130);
MoveToEx(hdc, 380, 50, NULL);
LineTo(hdc, 240, 540);
SetDCPenColor(hdc, RGB(0, 0, 255)); // 指定第三条线为蓝色
MoveToEx(hdc, 260, 510, NULL);
LineTo(hdc, 60, 40);
// 设置填充颜色为青色
SelectObject(hdc, GetStockObject(DC_BRUSH));
SetDCBrushColor(hdc, RGB(0, 255, 255));
// 填充
ExtFloodFill(hdc, 200, 200, GetPixel(hdc, 200, 200), FLOODFILLSURFACE);


4樓 巨大八爪鱼 2016-7-7 23:32
FLOODFILLSURFACE模式与“画图”中的“喷枪”工具的效果完全相同。参数4为指定点的颜色,GetPixel函数可以获取指定点的当前颜色。
5樓 巨大八爪鱼 2016-7-7 23:35

FloodFill函数只有4个参数,相当于调用ExtFloodFill函数并使用FLOODFILLBORDER模式(第一种模式)。

但是这个函数仅仅是为16位的Windows系统所保留的,所以不建议使用此函数。

6樓 巨大八爪鱼 2016-7-7 23:36

內容轉換:

回覆帖子
內容:
用戶名: 您目前是匿名發表。
驗證碼:
看不清?換一張
©2010-2025 Purasbar Ver3.0 [手機版] [桌面版]
除非另有聲明,本站採用知識共享署名-相同方式共享 3.0 Unported許可協議進行許可。