Halcon 画一个时钟
直接上代码:
dev_update_off() dev_close_window() dev_open_window(0, 0, 512, 512, 'white', WindowHandle) set_display_font(WindowHandle, 16, 'mono', 'true', 'false') dev_set_draw('margin') dev_set_color('black') CenterX := 512 / 2 CenterY := 512 / 2 while(true) dev_clear_window() dev_set_line_width(5) disp_circle(WindowHandle, CenterY, CenterX, 2) disp_circle(WindowHandle, CenterY, CenterX, 100) dev_set_line_width(2) disp_circle(WindowHandle, CenterY, CenterX, 105) for I := 1 to 12 by 1 MarkAngle := 360 / 12 * I - 90 MarkX1 := CenterX + 100 * cos(rad(MarkAngle)) MarkY1 := CenterY + 100 * sin(rad(MarkAngle)) MarkX2 := CenterX + 90 * cos(rad(MarkAngle)) MarkY2 := CenterY + 90 * sin(rad(MarkAngle)) Text := '' + I get_string_extents(WindowHandle, Text, Ascent, Descent, Width, Height) TextX := CenterX + 80 * cos(rad(MarkAngle)) - Width / 2 TextY := CenterY + 80 * sin(rad(MarkAngle)) - Height / 2 disp_line(WindowHandle, MarkY1, MarkX1, MarkY2, MarkX2) disp_text(WindowHandle, '' + I, 'image', TextY, TextX, 'black', ['box'], ['false']) endfor get_system_time(MSecond, Second, Minute, Hour, Day, YDay, Month, Year) if (Hour > 12) Hour := Hour - 12 endif dev_set_line_width(3) HourAngle := 360 / 12 * Hour - 90 HourX := CenterX + 50 * cos(rad(HourAngle)) HourY := CenterY + 50 * sin(rad(HourAngle)) disp_line(WindowHandle, CenterY, CenterX, HourY, HourX) dev_set_line_width(2) MinuteAngle := 360 / 60 * Minute - 90 MinuteX := CenterX + 60 * cos(rad(MinuteAngle)) MinuteY := CenterY + 60 * sin(rad(MinuteAngle)) disp_line(WindowHandle, CenterY, CenterX, MinuteY, MinuteX) dev_set_line_width(1) SecondAngle := 360 / 60 * Second - 90 SecondX := CenterX + 70 * cos(rad(SecondAngle)) SecondY := CenterY + 70 * sin(rad(SecondAngle)) disp_line(WindowHandle, CenterY, CenterX, SecondY, SecondX) wait_seconds(1) endwhile
效果:
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· Manus的开源复刻OpenManus初探
· AI 智能体引爆开源社区「GitHub 热点速览」
· C#/.NET/.NET Core技术前沿周刊 | 第 29 期(2025年3.1-3.9)
· 从HTTP原因短语缺失研究HTTP/2和HTTP/3的设计差异