L lingqiao Unregistered / Unconfirmed GUEST, unregistred user! 2001-02-23 #1 需要在一个作图程序中实现鼠标指向一个封闭区域时,自动在封闭区域画上45度阴影线, 已经想了不少办法,但未能实现,请各位编程高手给予指导。最好说的详细下点,能有源 程序最好。
郭 郭镇松 Unregistered / Unconfirmed GUEST, unregistred user! 2001-02-23 #2 那个封闭区域是由什么组成的?是Canvas对象上画的封闭区域吗?
B BaKuBaKu Unregistered / Unconfirmed GUEST, unregistred user! 2001-02-23 #3 用 Region 作为数据结构来表示封闭区域,SetWindowRgn 可以设置窗口的 Region , 然后设置阴影线刷子填充就可以了。
H huizhang Unregistered / Unconfirmed GUEST, unregistred user! 2001-02-28 #4 Canvas.Brush.Style := bsBDiagonal Canvas.Polyline([Point(40, 10), Point(20, 60), Point(70, 30), Point(10, 30), Point(60, 60), Point(40, 10)]);
Canvas.Brush.Style := bsBDiagonal Canvas.Polyline([Point(40, 10), Point(20, 60), Point(70, 30), Point(10, 30), Point(60, 60), Point(40, 10)]);
J Jams Unregistered / Unconfirmed GUEST, unregistred user! 2001-02-28 #5 忘了是在哪儿看的!有过类似的算法,好像是填充不规则区域. 计算不规则区域的边界,并计算出与边界的交点坐标,填充就很容易实现了!?
吕 吕雪松 Unregistered / Unconfirmed GUEST, unregistred user! 2001-02-28 #6 好多方法了。一种是画两次,先偏移一点屏幕横纵坐标用深色刷子画出阴影,再在原位值 画出图形,你想的是这种立体效果吗?另外可以用Path,不过不知道到你是否能真正用得 上。 beginPath PolyPolyline(...) endpath strokeandfillpath(...) 等等。
好多方法了。一种是画两次,先偏移一点屏幕横纵坐标用深色刷子画出阴影,再在原位值 画出图形,你想的是这种立体效果吗?另外可以用Path,不过不知道到你是否能真正用得 上。 beginPath PolyPolyline(...) endpath strokeandfillpath(...) 等等。