halcon-draw_circle手動畫圓


在HDevelop中

dev_open_window(10,10,500,500,'black',WindowHandle)
draw_circle (WindowHandle, Row, Column, Radius)
*在指定窗口手動畫圓
*參數1:窗口句柄
*參數2:保存圓心Row-->y坐標
*參數3:保存圓心Col-->x坐標
*參數4:保存半徑
*鼠標左鍵畫圓,右鍵結束
*注意:右鍵結束后,窗口中不會畫出圓--可以得到圓的數據

gen_circle (Circle, Row, Column, Radius)
*創建一個圓區域
*參數1:新創建圓的對象名--區域對象名

region_features (Circle, 'area', Value)
*獲取區域的形狀特征值
*參數1:區域對象名
*參數2:形狀特征代碼--看:https://www.cnblogs.com/liming19680104/p/15886100.html
*參數3:保存返回值

 

 其它draw指令看:https://blog.csdn.net/cashmood/article/details/102746740  

 

 在QtCreator中

    HObject  ho_Circle;
    HTuple  hv_Row, hv_Column, hv_Radius,hv_Value;


    SetWindowAttr("background_color","black");
    OpenWindow(10,10,400,400,0,"visible","",&hv_WindowHandle);
    HDevWindowStack::Push(hv_WindowHandle);
    DrawCircle(hv_WindowHandle, &hv_Row, &hv_Column, &hv_Radius);
      //在指定窗口手動畫圓
      //參數1:窗口句柄
      //參數2:保存圓心Row-->y坐標
      //參數3:保存圓心Col-->x坐標
      //參數4:保存半徑
      //鼠標左鍵畫圓,右鍵結束
      //注意:右鍵結束后,窗口中不會畫出圓--可以得到圓的數據

    GenCircle(&ho_Circle, hv_Row, hv_Column, hv_Radius);
      //創建一個圓區域
      //參數1:新創建圓的對象名--區域對象名
    DispObj(ho_Circle, HDevWindowStack::GetActive());
    //特別注意:這個圓對象在C++中要調用顯示,而在HDevelop導出的文件中缺少這個指令

    RegionFeatures(ho_Circle, "area", &hv_Value);
      //獲取區域的形狀特征
      //參數1:區域對象名
      //參數2:形狀特征代碼--看:https://www.cnblogs.com/liming19680104/p/15886100.html
      //參數3:保存返回值
    double i=hv_Value.D();
    qDebug()<<i;

 

 

 

 

 

 

 

 

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM