温故而知新(一)Halcon 画线,虚线,圆,矩形 |
您所在的位置:网站首页 › halcon设置窗口背景颜色 › 温故而知新(一)Halcon 画线,虚线,圆,矩形 |
温故而知新
先建一个窗体吧。我想不管做什么都需要这个开头吧 *关闭窗体 dev_close_window () *打开窗体(窗体左上角x坐标,窗体左上角y坐标,窗体长,窗体宽,背景颜色,窗体名称) dev_open_window (0, 0, 512, 512, 'black', WindowHandle)执行到draw_line的时候会让你在窗体上画一条线,画完线后鼠标右键确认,就退出了画线状态(我是这么认为的,具体是怎么叫,其实无所谓了。能记得住的就可以),至于说还可以按esc键,没尝试过,还真不清楚。 退出后,如果没有后面那就disp_line(…),那就什么都没有,只有起始点和终止点坐标被记录了下来,也就是上面的 起始点x坐标,起始点y坐标 Row1, Column1 终止点x坐标,终止点y坐标 Row2, Column2
从“一”可以知道画线和显示就两句画,draw跟disp。但是画虚线的话,很多人还是不知道。至少我在网络上找如何画虚线的时候。很少有列子提供参考。唯数不多的资料,就我这水平能力,能找到最相近的,也就下面这个了。 链接: Halcon——绘制虚线 而且我看了一下,这几句话还是就在halcon帮助里就有的 而想要画虚线的方法就是: set_line_style (WindowHandle, [10])也是用这句话。只不过需要将这句话写到draw跟disp的中间,才能让直线变成虚线。 *算子draw_line(窗体名称,起始点x坐标,起始点y坐标,终止点x坐标,终止点y坐标) draw_line (WindowHandle, Row1, Column1, Row2, Column2) set_line_style (WindowHandle, [10]) disp_line (WindowHandle, Row1, Column1, Row2, Column2) set_line_style (WindowHandle, [])最终效果是: 为什么又要写一遍,并置空呢? 原因是set_line_style就像是dev_set_color(‘red’)设置属性一样。如果更改后,没有再给它改回去,那么它后面就会以set_line_style (WindowHandle, [10])的属性继续执行。 三、画圆 *算子draw_circle (窗体,圆中心x坐标,圆中心y坐标,圆半径) draw_circle (WindowHandle, Row, Column, Radius)同样是以鼠标右键确认。
那么就会出现一个虚线的空心圆
显示的算子跟画圆的一致 不过怎么画空心矩形就是个问题了,有能力的朋友麻烦指点一下。因为我怎么找也没看见gen_rectangle1_contour_xld了,只能看见gen_rectangle2_contour_xld。 在此感谢大佬的支援: 最后附上所有的代码 *关闭窗体 dev_close_window () *打开窗体(窗体左上角x坐标,窗体左上角y坐标,窗体长,窗体宽,背景颜色,窗体名称) dev_open_window (0, 0, 512, 512, 'black', WindowHandle) *算子draw_line(窗体名称,起始点x坐标,起始点y坐标,终止点x坐标,终止点y坐标) draw_line (WindowHandle, Row1, Column1, Row2, Column2) set_line_style (WindowHandle, [10]) disp_line (WindowHandle, Row1, Column1, Row2, Column2) set_line_style (WindowHandle, []) stop() *清屏幕 dev_clear_window () draw_circle (WindowHandle, Row, Column, Radius) *实心圆 gen_circle (Circle, Row, Column, Radius) *空心圆 *gen_circle_contour_xld (ContCircle, Row, Column, Radius, 0, 6.28318, 'positive', 1) stop() dev_clear_window () *实现空心矩形的方式 dev_set_draw('margin') *矩形 draw_rectangle1 (WindowHandle, Row11, Column11, Row21, Column21) gen_rectangle1 (Rectangle, Row11, Column11, Row21, Column21) 留言敲了这么久,结果才是一点点的东西,这可能只是我迈出的一小步,想要达到一定的高度还遥遥无期。有点感慨那些成千上万字的大佬们,把总结写的那么好,真的是辛苦了,值得我学习。这路子果然还长着的。 辗转反侧,最终还是来自己的文章上看以前的写的东西啊。 |
今日新闻 |
推荐新闻 |
CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3 |