以文本方式查看主题 - Foxtable(狐表) (http://foxtable.net/bbs/index.asp) -- 专家坐堂 (http://foxtable.net/bbs/list.asp?boardid=2) ---- [求助]GDI画图的图形,有没有办法选择 (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=78208) |
||||
-- 作者:jspta -- 发布时间:2015/12/4 10:47:00 -- [求助]GDI画图的图形,有没有办法选择 比如画了一个矩形,我想用鼠标选择某一边框,这个如何能够实现? |
||||
-- 作者:大红袍 -- 发布时间:2015/12/4 10:51:00 -- 是不可以的。
方法一:你直接生成一个panel或者图片控件;
方法二:你在其四周生成n个点,比如用label控件模拟。
http://www.foxtable.com/bbs/dispbbs.asp?BoardID=2&ID=72591&skin=0
|
||||
-- 作者:jspta -- 发布时间:2015/12/4 11:25:00 -- 其实我是想实现一个第一象限的坐标系,在该坐标系存在内有若干图形,我用鼠标选择一个图形边框(点1),另一个任意图形边框(点2),测量这两点间距离(点只会在边框上)。点的精确度至少需要精确到万分之一。这个是否有参考案例那? |
||||
-- 作者:大红袍 -- 发布时间:2015/12/4 11:57:00 -- 点击的时候,记录鼠标位置,再点一次的时候,取得坐标,然后计算两点间的距离不行?
|
||||
-- 作者:jspta -- 发布时间:2015/12/4 12:13:00 -- 我刚看了原软件,实现原理大致是获取图形区域,然后鼠标点击边框或接近边框,获得在边框上点坐标,这样就能计算了。这个功能复杂了一点,需要涉及到缩放获取比例放大功能 |
||||
-- 作者:大红袍 -- 发布时间:2015/12/4 12:32:00 -- 坐标加减一下不就是扩大或缩小么了。 |
||||
-- 作者:jspta -- 发布时间:2015/12/4 13:49:00 -- 只是图形显示的放大缩小,类似于倍率。坐标本身是不会变的。 但是要考虑到所选择的区域放大后重新绘制?我上传一个简单例子。
如果按照黑色框显示放大并填充整个画图板,这个功能如何实现?假定你原来知道三个图形的坐标,如何换算后重新绘制图形?
也许你所选范围中有很多图形,附件只是个简单情况
此主题相关图片如下:catch48e1.jpg |
||||
-- 作者:大红袍 -- 发布时间:2015/12/4 14:21:00 -- 1、不要用图像来做啊,用控件啊;
2、你可以保存成图片,然后截取选中的部分,然后显示出来啊。 |
||||
-- 作者:jspta -- 发布时间:2015/12/4 14:52:00 -- 以下是引用大红袍在2015/12/4 14:21:00的发言:
1、不要用图像来做啊,用控件啊;
2、你可以保存成图片,然后截取选中的部分,然后显示出来啊。 就上面的附件图形,这个能给个简单实例吗? 我最终目的就是为了可以让用户随意缩放,并测量两个图形间(点)的距离,并不需要保存图片。仅仅是显示效果。 |
||||
-- 作者:大红袍 -- 发布时间:2015/12/4 14:53:00 -- 保存成图片,然后对图片放大缩小啊。 |