設置 | 登錄 | 註冊

目前共有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許可協議進行許可。