回 帖 发 新 帖 刷新版面

主题:[讨论]如何对空心的图形进行填充

用line语句画了一个三角形,想把它用相同的颜色填充,该如何做?

回复列表 (共7个回复)

沙发

问题就是,别用line.

板凳

那么应该怎么做呢?

3 楼

[url=http://www.91files.com/?Z62T6FKJRT5N02C24YSH]绘制三角形[/url]

4 楼

可以使用API函数ExtFloodFill来填充这个三角形,举例如下:

Private Sub Pic3_MouseDown(Button As Integer, Shift As Integer, x As Single, y As Single)
Dim c1 As Long
c1 = Pic3.Point(x, y)
If c1 = ColorLin Then Exit Sub '如果鼠标处的颜色与画线颜色相同退出
Pic3.FillColor = 255  '这是用于填充的颜色
ExtFloodFill Pic3.hdc, x, y, c1, 1
End Sub

程序运行时在你画的图形中间任意一点用鼠标点一下即可,其中ColorLin是画线的颜色

5 楼

恩 ExtFloodFill

6 楼

可以用API函数创建一个多边形区域具体函数我记不太清了,好像是CreatePolyRgn具体是什么可以上网查一下,然后用SelectObject函数将创建的区域选入当前设备场景中(也就是HDC)同时创建一个画刷,这个画刷可以是单色的或是一幅图形,最后用FillRgn以创建的画刷对多边形进行填充就可以了!哦,记住使用完后一定要用DeleteObject函数将创建的区域和画刷句柄销毁。

7 楼

计算机图形学里面有算法

我来回复

您尚未登录,请登录后再回复。点此登录或注册