Programming/Windows API
FloodFill함수는 지정한 Device Context에서 특정 색상의 영역을 표시하는 함수입니다.

Declare Function FloodFill Lib "gdi32" Alias "FloodFill" (ByVal hdc As Integer, ByVal x As Integer, ByVal y As Integer, ByVal crColor As Integer, ByVal wFillType As Integer) As Integer
▶VB.NET 선언

[DllImport("gdi32")]
public static extern int FloodFill(int hdc, int x, int y, int crColor, int wFillType);
▶C# 선언

선언 FloodFill함수의 첫번째 인수는 영역을 표시할 Device Context를 기술합니다. 이때 GetDC, GetWindowDC함수로 Device Context를 가져올 수 있습니다.

[Develop/Windows API] - GetDC - Window및 Control의 Device Context 구하기
[Develop/Windows API] - GetWindowDC - 현재 Windows화면의 Device Context 구하기

FloodFill함수의 두번째와 세번째 인수는 해당 색상을 칠할 시작좌표를 설정하는 부분이며 네번째인수는 영역을 표시할 대상 색상을 기술하는 부분입니다. 그리고 마지막 다섯번째 인수는 색상을 칠할 형태를 지정하는 것으로 다음 2가지를 기술할 수 있습니다.

 상수  값  설명
 FLOODFILLBORDER  0  경계부분만 칠함
 FLOODFILLSURFACE  1  지정된 색상으로 칠할 영역을 결정

위 인수를 토대로 FloodFill함수는 다음과 같이 호출될 수 있습니다.

FloodFill(GetWindowDC(GetDesktopWindow()), 0, 0, ColorTranslator.ToWin32(Color.Black), 0)
▶VB.NET 호출

FloodFill(GetWindowDC(GetDesktopWindow()), 0, 0, ColorTranslator.ToWin32(Color.Black), 0)
▶C# 호출
0 0