惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

D
DataBreaches.Net
GbyAI
GbyAI
aimingoo的专栏
aimingoo的专栏
freeCodeCamp Programming Tutorials: Python, JavaScript, Git & More
月光博客
月光博客
大猫的无限游戏
大猫的无限游戏
M
MIT News - Artificial intelligence
腾讯CDC
博客园 - Franky
Engineering at Meta
Engineering at Meta
C
Check Point Blog
T
The Blog of Author Tim Ferriss
有赞技术团队
有赞技术团队
Microsoft Azure Blog
Microsoft Azure Blog
MyScale Blog
MyScale Blog
I
InfoQ
Blog — PlanetScale
Blog — PlanetScale
P
Proofpoint News Feed
The GitHub Blog
The GitHub Blog
N
Netflix TechBlog - Medium
Last Week in AI
Last Week in AI
S
SegmentFault 最新的问题
Cyber Security Advisories - MS-ISAC
Cyber Security Advisories - MS-ISAC
WordPress大学
WordPress大学

博客园 - 广阔之海

Halcon的三角函数 Halcon轮廓插值方法 C# 控件选项变化事件处理 深度学习执行速度不稳定的解决方法 Halcon - 深度学习 - 目标分类 Halcon 解方程(solve_matrix) C# 使用Serilog日志框架 Halcon 生成标定板 Halcon 中的形态学 Halcon的提取中心线算法 C# 消灭switch的面向映射编程 C#中Task的用法 Halcon 通过坐标轴过滤点云数据 Halcon图像投影映射 C# 获取MySql的数据库结构信息 C# HttpClient的使用方法总结 MySql字符集导致特殊字符保存出错问题处理 Asp.Net Core 动态生成WebApi Asp.Net Core WebApi中集成Jwt认证
Halcon 画一个时钟
广阔之海 · 2023-02-05 · via 博客园 - 广阔之海
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