主题:[讨论]如何对空心的图形进行填充
zhang5382
[专家分:170] 发布于 2008-12-25 19:36:00
用line语句画了一个三角形,想把它用相同的颜色填充,该如何做?
回复列表 (共7个回复)
沙发
bcahzvip [专家分:6040] 发布于 2008-12-26 01:22:00
问题就是,别用line.
板凳
zhang5382 [专家分:170] 发布于 2008-12-26 20:41:00
那么应该怎么做呢?
3 楼
bcahzvip [专家分:6040] 发布于 2008-12-27 08:34:00
[url=http://www.91files.com/?Z62T6FKJRT5N02C24YSH]绘制三角形[/url]
4 楼
一江秋水 [专家分:9680] 发布于 2008-12-27 08:50:00
可以使用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 楼
bcahzvip [专家分:6040] 发布于 2008-12-27 12:08:00
恩 ExtFloodFill
6 楼
tjestar [专家分:3520] 发布于 2008-12-27 21:42:00
可以用API函数创建一个多边形区域具体函数我记不太清了,好像是CreatePolyRgn具体是什么可以上网查一下,然后用SelectObject函数将创建的区域选入当前设备场景中(也就是HDC)同时创建一个画刷,这个画刷可以是单色的或是一幅图形,最后用FillRgn以创建的画刷对多边形进行填充就可以了!哦,记住使用完后一定要用DeleteObject函数将创建的区域和画刷句柄销毁。
7 楼
gaga2004 [专家分:480] 发布于 2009-02-26 16:27:00
计算机图形学里面有算法
我来回复