社区
VB基础类
帖子详情
用DrawBeziers画了几条线之后,如何知道鼠标点中了哪根线?
guww
2012-02-08 07:51:48
如题。
...全文
170
11
打赏
收藏
用DrawBeziers画了几条线之后,如何知道鼠标点中了哪根线?
如题。
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
11 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
糊里糊涂
2012-02-13
打赏
举报
回复
编程肯定是要懂得数学知识的,这就是数学知识应用的一个很简单实例。点到直线距离,2点可确定一直线方程等等。呵呵
糊里糊涂
2012-02-13
打赏
举报
回复
通过2个点就可以确定一个直线的方程式。根据方程式再加上距离(离线很近可以且按了鼠标左键可以认为是选择了线)可判定是不是选择了线。这是通用的直线选择判定方法
赵4老师
2012-02-13
打赏
举报
回复
[Quote=引用 7 楼 guww 的回复:]
我希望差1,2个像素也认为是选中了
[/Quote]
取鼠标所指处以及偏差一、二个像素处颜色。
贝隆
2012-02-12
打赏
举报
回复
设置不同的颜色是最佳办法。完全可以实现。
比如你要绘制的曲线颜色是:RGB(100,100,100)
那么,你只需要修改一个参数,比如修改为:RGB(100,101,100),这在肉眼上根本看不出来,而又区分了曲线的颜色。
guww
2012-02-12
打赏
举报
回复
我希望差1,2个像素也认为是选中了
赵4老师
2012-02-09
打赏
举报
回复
[Quote=引用 4 楼 guww 的回复:]
颜色设置为不同的颜色 局限太大,线多了不行。
[/Quote]
多?不超过50条就不算多。超过50条谁能用鼠标点第38条?
Tiger_Zhao
2012-02-09
打赏
举报
回复
也可以在不可见 PictufeBox 上进行坐标映射,每次擦除后只画其中一条线,然后判断点击对应坐标处的颜色。
赵4老师
2012-02-08
打赏
举报
回复
提醒:每根曲线的颜色设置为不同的颜色的意思可以是RGB值不同,但人眼看上去相同。
贝隆
2012-02-08
打赏
举报
回复
最简单的办法就是每根曲线的颜色设置为不同的颜色。当鼠标点击某一点时,读取这个点的颜色,用来和曲线的颜色比较,这样就能知道你点的是什么曲线了。
Tiger_Zhao
2012-02-08
打赏
举报
回复
将几条线用不同的颜色绘制,判断点击处的像素颜色。
guww
2012-02-08
打赏
举报
回复
颜色设置为不同的颜色 局限太大,线多了不行。
UGUI绘制多点连续的平滑曲
线
本文实例为大家分享了UGUI绘制平滑曲
线
的具体代码,供大家参考,具体内容如下 绘制 实现自定义的MaskableGraphic挂载在UGUI的UI节点上 public class UGUIObjectRender : ... vh.
Draw
Bezier
s(points,segments,line
绘制贝赛尔样条,C#源代码Point[] p = {
绘制贝赛尔样条,C#源代码Point[] p = { new Point(10, 100), // start point of first spline new Point(75, 10), // first control point of first spline ... e.Graphics.
Draw
Bezier
s(pen, p);
再学 GDI+[14]:
Draw
Bezier
s - 绘制一组贝塞尔
线
g.
Draw
Bezier
s(p, PGPPoint(pts), Length(pts)); p.SetColor(aclBlue); for i := Low(pts) to High(pts) do g.
Draw
Rectangle(p, MakeRect(Rect(pts[i].X-2, pts[i].Y-2, pts[i].X+2, pts[i].Y+2))); g.Free; ...
C#开发教程--
线
条绘制篇
Windows绘制图形首先要定义DC(Device Context),在.NET中直接使用Graphics类。然后分配
画
图工具如
画
笔等,调用绘图函数进行绘制。要注意的是,
画
图后要记得释放Graphics以及
画
图工具等对象,因为图像对象占用很大的...
再学 GDI+[14]
Draw
Bezier
s - 绘制一组贝塞尔
线
g.
Draw
Bezier
s(p,PGPPoint(pts),Length(pts)); p.SetColor(aclBlue); for I := Low(pts) to High(pts) do begin g.
Draw
Rectangle(p,MakeRect(Rect(pts[i].X-2,pts[i].Y-2,pts[i].X+2,pts[i].Y+2))); end; p....
VB基础类
7,763
社区成员
197,609
社区内容
发帖
与我相关
我的任务
VB基础类
VB 基础类
复制链接
扫一扫
分享
社区描述
VB 基础类
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章