参数:
- erase_contour_xld(Contour : ContourOut : Radius : )
复制代码
参数说明:
- Contour 传入单轮廓
- ContourOut 传出被擦除的单轮廓
- Radius 擦除半径
复制代码
外部算子源码:
- *传入轮廓(非polygon多边形)进行擦除,左键点击擦除,右键完成
- dev_get_window (WindowHandle)
- gen_circle_contour_xld (ContCircle, 0, 0, Radius, 0, 6.28318, 'positive', 1)
- gen_region_contour_xld (Contour, Region, 'margin')
- dev_display(Region)
- while(true)
- try
- get_mbutton (WindowHandle, Row1, Column1, Button)
- if(4 == Button)
- break
- endif
- set_system ('flush_graphic', 'false')
- vector_angle_to_rigid (0, 0, 0, Row1, Column1, 0, HomMat2D)
- affine_trans_contour_xld (ContCircle, ContoursAffineTrans, HomMat2D)
- gen_region_contour_xld (ContoursAffineTrans, RegionCircle, 'filled')
- difference (Region, RegionCircle, Region)
- dev_clear_window ()
- set_system ('flush_graphic', 'true')
- dev_display(Region)
- catch (Exception)
- endtry
- endwhile
- skeleton (Region, Skeleton)
- gen_contours_skeleton_xld (Skeleton, ContourOut, 1, 'filter')
- return ()
复制代码 可自行根据参数表封装修改
erase_contour_xld.hdvp
(1.64 KB, 下载次数: 42)
|