目前共有6篇帖子。 字体大小:较小 - 100% (默认)▼  内容转换:台灣正體▼
 
点击 回复
943 5
【用法】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
 

回复帖子

内容:
用户名: 您目前是匿名发表
验证码:
(快捷键:Ctrl+Enter)
 

本帖信息

点击数:943 回复数:5
评论数: ?
作者:巨大八爪鱼
最后回复:巨大八爪鱼
最后回复时间:2016-7-7 23:36
 
©2010-2025 Purasbar Ver2.0
除非另有声明,本站采用知识共享署名-相同方式共享 3.0 Unported许可协议进行许可。