Halcon制作表盘

read_image (Image, 'E:/Halcon数据/测量程序/矩阵变换/3.png')


get_image_size (Image, Width, Height)
dev_clear_window ()
dev_open_window (0, 0, Width, Height, 'black', WindowHandle)
dev_display (Image)
gen_circle_contour_xld (ContCircle1, 300, 300, 250, 0, 6.28318, 'positive', 1)
gen_circle_contour_xld (ContCircle2, 300, 300, 251, 0, 6.28318, 'positive', 1)
gen_circle_contour_xld (ContCircle3, 300, 300, 252, 0, 6.28318, 'positive', 1)
gen_circle_contour_xld (ContCircle4, 300, 300, 254, 0, 6.28318, 'positive', 1)
gen_circle_contour_xld (ContCircle5, 300, 300, 253, 0, 6.28318, 'positive', 1)
gen_circle_contour_xld (ContCircle, 300, 300, 10, 0, 6.28318, 'positive', 1)


dev_get_window (WindowHandle1)
while (true)
    dev_update_time ('on')
    get_system_time (MSecond, Second, Minute, Hour, Day, YDay, Month, Year)
    set_tposition (WindowHandle1, 600, 100)
    query_font (WindowHandle, Font)

     FontWithSize := Font[0]+'-30'
    set_font (WindowHandle, FontWithSize)
   
 *时
    hom_mat2d_identity (HomMat2DIdentity)
     *0,250 xy偏移
    hom_mat2d_translate (HomMat2DIdentity, 0, 150, HomMat2DTranslate)
     *300,300旋转中心

    hom_mat2d_rotate (HomMat2DTranslate, Hour*6.283/12+3.1415, 300, 300, HomMat2DRotate)
     *300,300标准点,Qx1, Qy1目标点
    affine_trans_point_2d (HomMat2DRotate, 300, 300, Qx1, Qy1)

    gen_arrow_contour_xld (Arrow1, 300, 300, Qy1, Qx1, 20, 15)
    gen_arrow_contour_xld (Arrow11, Qy1, Qx1, 300, 300, 130, 15)


 *分
    hom_mat2d_identity (HomMat2DIdentity)
     *0,250 xy偏移
    hom_mat2d_translate (HomMat2DIdentity, 0, 200, HomMat2DTranslate)
     *300,300旋转中心
     
    hom_mat2d_rotate (HomMat2DTranslate, Minute*6.283/60+3.1415, 300, 300, HomMat2DRotate)
     *300,300标准点,Qx1, Qy1目标点
    affine_trans_point_2d (HomMat2DRotate, 300, 300, Qx2, Qy2)

    gen_arrow_contour_xld (Arrow2, 300, 300, Qy2, Qx2, 20, 15)    
    gen_arrow_contour_xld (Arrow12, Qy2, Qx2, 300, 300, 180, 15)


 *秒
    hom_mat2d_identity (HomMat2DIdentity)
     *0,250 xy偏移
    hom_mat2d_translate (HomMat2DIdentity, 0, 250, HomMat2DTranslate)
     *300,300旋转中心

    hom_mat2d_rotate (HomMat2DTranslate, Second*6.283/60+3.1415, 300, 300, HomMat2DRotate)
     *300,300标准点,Qx1, Qy1目标点
    affine_trans_point_2d (HomMat2DRotate, 300, 300, Qx3, Qy3)
    gen_arrow_contour_xld (Arrow3, 300, 300, Qy3, Qx3, 20, 5) 
    gen_arrow_contour_xld (Arrow13, Qy3, Qx3, 300, 300, 230, 5)
*     dev_clear_window ()
    dev_display (Image)
    dev_display (ContCircle)
    dev_display (ContCircle1)
    dev_display (ContCircle2)
    dev_display (ContCircle3)
    dev_display (ContCircle4)
    dev_display (ContCircle5)
    dev_display (Arrow1)
    dev_display (Arrow2)
    dev_display (Arrow3)
     dev_display (Arrow11)
    dev_display (Arrow12)
    dev_display (Arrow13)
   
     write_string (WindowHandle1, Year+'年/'+Month+'月/'+Day+'日/'+Hour+'时/'+Minute+'分/'+Second+'秒')
   set_tposition (WindowHandle1, 5, 300)
   write_string (WindowHandle1, '12')
   set_tposition (WindowHandle1, 565, 300)
   write_string (WindowHandle1, '6')
   set_tposition (WindowHandle1, 300, 565)
   write_string (WindowHandle1, '3')
    set_tposition (WindowHandle1, 300, 15)
   write_string (WindowHandle1, '9')
     wait_seconds (1)
endwhile
 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值