设置 | 登录 | 注册

作者共发了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许可协议进行许可。