halcon-dev_set_line_width设置region,contour输出的线宽

在HDevelop中

dev_open_window(10,10,600,300,'black',WindowHandle)
dev_set_line_width (3)
*设置region,contour输出的线宽

*****坐标数组****
rows1:=[20,100,100,20,20]
cols1:=[20,20,250,250,20]
radius:=[20,20,20,20,20]
rows2:=[20,20,100,100,20]
cols2:=[320,550,550,320,320]
*注意:坐标数组的第一个值和最后一个值相同,用以形成一个封闭的多边形轮廓

gen_contour_polygon_rounded_xld (Contour, rows1, cols1, radius, 1)
*创建带圆角的多边形轮廓,坐标和圆角可以通过数组的形式指定
*参数1:输出轮廓
*参数2:多边形的行坐标
*参数3:多边形的列坐标
*参数4:圆角的半径
*参数5:样本的距离

gen_contour_polygon_xld (Contour1, rows2, cols2)
*不带圆角的多边形轮廓

dev_display (Contour)
dev_display (Contour1)

 

 


在QtCreator中

  HObject  ho_Contour, ho_Contour1;
  HTuple  hv_WindowHandle, hv_rows1, hv_cols1, hv_radius;
  HTuple  hv_rows2, hv_cols2;
  SetWindowAttr("background_color","black");
  OpenWindow(10,10,600,300,0,"visible","",&hv_WindowHandle);
  HDevWindowStack::Push(hv_WindowHandle);
  if (HDevWindowStack::IsOpen())
    SetLineWidth(HDevWindowStack::GetActive(),3);
  //设置region,contour输出的线宽

  //****坐标数组****
  hv_rows1.Clear();
  hv_rows1[0] = 20;
  hv_rows1[1] = 100;
  hv_rows1[2] = 100;
  hv_rows1[3] = 20;
  hv_rows1[4] = 20;
  hv_cols1.Clear();
  hv_cols1[0] = 20;
  hv_cols1[1] = 20;
  hv_cols1[2] = 250;
  hv_cols1[3] = 250;
  hv_cols1[4] = 20;
  hv_radius.Clear();
  hv_radius[0] = 20;
  hv_radius[1] = 20;
  hv_radius[2] = 20;
  hv_radius[3] = 20;
  hv_radius[4] = 20;
  hv_rows2.Clear();
  hv_rows2[0] = 20;
  hv_rows2[1] = 20;
  hv_rows2[2] = 100;
  hv_rows2[3] = 100;
  hv_rows2[4] = 20;
  hv_cols2.Clear();
  hv_cols2[0] = 320;
  hv_cols2[1] = 550;
  hv_cols2[2] = 550;
  hv_cols2[3] = 320;
  hv_cols2[4] = 320;
  //注意:坐标数组的第一个值和最后一个值相同,用以形成一个封闭的多边形轮廓

  GenContourPolygonRoundedXld(&ho_Contour, hv_rows1, hv_cols1, hv_radius, 1);
  //创建带圆角的多边形轮廓,坐标和圆角可以通过数组的形式指定
  //参数1:输出轮廓
  //参数2:多边形的行坐标
  //参数3:多边形的列坐标
  //参数4:圆角的半径
  //参数5:样本的距离

  GenContourPolygonXld(&ho_Contour1, hv_rows2, hv_cols2);
  //不带圆角的多边形轮廓

  if (HDevWindowStack::IsOpen())
    DispObj(ho_Contour, HDevWindowStack::GetActive());
  if (HDevWindowStack::IsOpen())
    DispObj(ho_Contour1, HDevWindowStack::GetActive());

 

 

 

 

 

 

 

 

 

posted @ 2022-03-14 13:51  天子骄龙  阅读(578)  评论(0)    收藏  举报