VB中给圆填充颜色的算法怎么写
本帖最后由 bcrun 于 2013-10-28 10:20:29 编辑 这是我画的一个圆
Dim a As Single
Dim b As Single
Private Sub picdraw_MouseDown(Button As Integer, Shift As Integer, X As Single, Y As Single)
a = X
b = Y
End Sub
Private Sub picdraw_MouseMove(Button As Integer, Shift As Integer, X As Single, Y As Single)
If Button = 1 Then
Picdraw.Cls
Picdraw.Circle ((a + X) / 2, (b + Y) / 2), (((a - X) ^ 2 + (b - Y) ^ 2) ^ 0.5) / 2, RGB(0, 0, 0)
End If
End Sub
int nXStart, // x-coordinate where filling begins
int nYStart, // y-coordinate where filling begins
COLORREF crColor, // fill color
UINT fuFillType // fill type
);
Parameters
hdc
Handle to a device context.
nXStart
Specifies the logical x-coordinate of the point where filling is to begin.
nYStart
Specifies the logical y-coordinate of the point where filling is to begin.
crColor
Specifies the color of the boundary or of the area to be filled. The interpretation of crColor depends on the value of the fuFillType parameter.
fuFillType
Specifies the type of fill operation to be performed. It must be one of the following values: Value Meaning
FLOODFILLBORDER The fill area is bounded by the color specified by the crColor parameter. This style is identical to the filling performed by the FloodFill function.
FLOODFILLSURFACE The fill area is defined by the color that is specified by crColor. Filling continues outward in all directions as long as the color is encountered. This style is useful for filling areas with multicolored boundaries.
Return Values
If the function succeeds, the return value is nonzero.
If the function fails, the return value is zero.
Windows NT: To get extended error information, callGetLastError.
Remarks
Following are some of the reasons this function might fail:
The filling could not be completed.
The specified point has the boundary color specified by the crColor parameter (if FLOODFILLBORDER was requested).
The specified point does not have the color specified by crColor (if FLOODFILLSURFACE was requested).
The point is outside the clipping region — that is, it is not visible on the device.
If the fuFillType parameter is FLOODFILLBORDER, the system assumes that the area to be filled is completely bounded by the color specified by the crColor parameter. The function begins filling at the point specified by the nXStart and nYStart parameters and continues in all directions until it reaches the boundary.
If fuFillType is FLOODFILLSURFACE, the system assumes that the area to be filled is a single color. The function begins to fill the area at the point specified by nXStart and nYStart and continues in all directions, filling all adjacent regions containing the color specified by crColor.
Only memory device contexts and devices that support raster-display operations support the ExtFloodFill function. To determine whether a device supports this technology, use the GetDeviceCaps function.
QuickInfo
Windows NT: Requires version 3.1 or later.
Windows: Requires Windows 95 or later.
Windows CE: Unsupported.
Header: Declared in wingdi.h.
Import Library: Use gdi32.lib.
See Also
Bitmaps Overview, Bitmap Functions, FloodFill, GetDeviceCaps