1. 程式人生 > 其它 >halcon-dev_set_line_width設定region,contour輸出的線寬

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());