Halcon 图形窗口显示文本

本文详细介绍了在图形用户界面中进行文本操作的方法,包括设置字体、显示消息、继续消息显示和设置文本光标位置等功能。通过具体示例,展示了如何在不同操作系统上设置字体属性,如何在窗口中精确控制文本的显示位置,以及如何在特定条件下暂停和继续程序运行。
摘要由CSDN通过智能技术生成

1.set_display_font

set_display_font——设置显示的字体
函数原型set_display_font ( : : WindowHandle, Size, Font, Bold, Slant : )
功能:用来设置当前窗口的文本字体属性,大小、粗体和斜体。
参数
Size——Windows系统上的字体大小。 如果Size = -1,则使用默认值16。 在Linux系统上,所有值都乘以1.25,然后映射到[11、14、17、20、25、34]。建议值: [9, 11, 14, 16, 20, 27]。
Font——字体名称。 可以使用’mono’,‘sans’,'serif’或特定的字体名称。 在Windows上,“mono”将被映射到“Courier New字体”,在Linux上将被映射到“courier字体”,在OS X上将被映射到“Menlo字体”。在Windows和OS X上,“sans”将被映射到“Arial字体”,以及“helvetica字体”在Linux上。 在Windows和OS X上,“serif”将映射到“Times New Roman字体”,并映射到“times字体”在Linux上。默认值“mono”
Bold——如果设置为“true”,则使用粗体。默认值为“true”。
Slant——如果设置为“ true”,则使用倾斜字体。默认值为“true”。

2.disp_message

disp_message——编写一条文本消息
函数原型:disp_message( : : WindowHandle, String, CoordSystem, Row, Column, Color, Box : )
功能:在图形窗口窗口中显示文本的位置(行、列)。
如果只定义了单个位置,则为字符串的每个元素显示一个文本行。此外,’\n’将被解释为换行字符,即执行换行。
如果定义了多个位置,那么在string中每个位置只允许使用一个字符串或一个字符串。在这种情况下,必须使用’\n’强制换行。
文本的位置可以在窗口坐标(CoordSystem = ‘window’)或图像坐标(CoordSystem = ‘image’)中指定。
输入参数
WindowHandle——图形窗口的窗口句柄,显示消息的位置。
String——包含要显示的文本消息的字符串数组。数组的每个值将显示在一行中。
CoordSystem——如果设置为“窗口”,则相对于窗口坐标系给出文本位置。 如果设置为“图像”,则使用图像坐标(这在缩放图像中可能很有用)。
默认值’window’,有’window’和’image’两个选项。
Row——所需文本位置的垂直文本对齐方式或行坐标。 -1映射到12。默认值12.建议值:10, 12, 20, 30, ‘bottom’, ‘center’, ‘top’。
Column——所需文本位置的水平文本对齐方式或列坐标。 -1映射到12。
默认值12.
建议值:10, 12, 20, 30, ‘center’, ‘left’, ‘right’。
Color——将文本的颜色定义为字符串。 如果设置为[]或’’,则使用当前设置的颜色。 如果传递了字符串元组,则颜色将循环用于每个新位置或文本行。
默认值black。
Box——如果设置为“ true”,则文本将写在橙色框中。 如果设置为“ false”,则不会显示任何框。 如果设置为颜色字符串(例如’white’,’#FF00CC’等),则文本将以该颜色的框书写。 可选地,第二个值控制盒子阴影的外观。
默认值true。
可选项’true’, ‘false’, ‘white’, ‘red’, ‘forest green’, ‘black’, ‘blue’。

3.disp_continue_message

disp_continue_message——在屏幕的右下角显示“单击’Run(F5)'以继续”
函数原型disp_continue_message( : : WindowHandle, Color, Box : )
功能:在荧幕上显示暂停程序,请单击’Run(F5)‘以继续的信息。
如果参数Box设置为’true’,则文本将写在白框内,这在不规则背景下很有用。
输入参数
WindowHandle——图形窗口的窗口句柄,显示消息文本的位置。
Color——定义文本颜色。如果设置为 ''或“auto”,则使用当前设置的颜色。Color 输入显示的颜色,
默认值: ‘black’
可选值: ‘black’, ‘blue’, ‘yellow’, ‘red’, ‘green’, ‘cyan’, ‘magenta’, ‘forest green’, ‘lime green’, ‘coral’, ‘slate blue’
Box——如果设置为“ true”,则文本将写在白框中。
默认值:true。
可选值:‘true’, ‘false’。

4.在窗口中设置文本光标位置及字体

set_tposition (WindowHandle, 20, 20)  //设置文本光标的位置
write_string (WindowHandle, 'Result of the training:')//在光标处显示字体

例程

dev_open_window (0, 0, 512, 512, 'black', WindowHandle)
set_display_font (WindowHandle, 16, 'mono', 'true', 'false')
for Index := 1 to 5 by 1
    disp_message (WindowHandle, 'Step '+Index, 'window', 30*Index, -1, 'black', 'true')
    disp_continue_message (WindowHandle, 'black', 'true')
    stop ()
endfor

运行结果如下:
在这里插入图片描述
示例2

dev_open_window (0, 0, 512, 512, 'black', WindowHandle)
set_display_font (WindowHandle, 16, 'mono', 'true', 'false')
disp_message (WindowHandle, ['Hello','Gong!'], 'window', 12, 12, ['black','blue'], 'true')
disp_message (WindowHandle, ['How are you!'], 'window', 12, 120, 'red', ['green','false'])
Angle := [0,90,180,270]
Row := 200 - sin(rad(Angle))*100
Column := 250 + cos(rad(Angle))*100
Color := ['green','red','blue','red']
disp_message (WindowHandle, Angle+' deg', 'window', Row, Column, Color, 'false')
gen_cross_contour_xld (Cross, 200, 250, 200, 0)

在这里插入图片描述

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

&Mr.Gong

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值