halcon算子详解——disp_message
技术标签: HALCON
算子:disp_message( : : WindowHandle, String, CoordSystem, Row, Column, Color, Box : )
功能:此过程将编写一条文本消息。
此过程在图形窗口“窗口句柄”中的位置(Row,Column)显示文本。
如果仅定义一个位置,则为String的每个元素显示一个文本行。 “ \ n”将被解释为换行符。
文本的位置可以在窗口坐标(坐标系=“窗口”)或图像坐标(坐标系=“图像”)中指定,这在使用缩放图像时非常有用。除了提供(行,列)坐标外,还可以将预定义值传递给行和列,以在窗口中的固定位置显示文本(仅当CoordSystem ='window'时)。
参数Color也接受值的数组。在这种情况下,对于每个新的文本位置或每个新的文本行,如果使用单个位置,则循环使用指定的颜色。
Box参数,如果设置为“ true”,则文本将写在橙色框中,如果设置为“ false”,则不会显示任何框。Box的可选第二个值控制是否显示阴影。
输入参数: 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'。
例程:
*打开窗体得到窗体句柄
dev_open_window (0, 0, 512, 512, 'black', WindowHandle)
*设置 字体
set_display_font (WindowHandle, 16, 'mono', 'true', 'false')
* [ ]中括号是数组
disp_message (WindowHandle, ['Hello','world!'], 'window', 12, 12, ['black','blue'], 'true')
disp_message (WindowHandle, ['Hello','world!'], 'window', 12, 120, 'white', ['blue','false'])
*定义变量 [ ]中括号是数组
Angle := [0,90,180,270]
Row := 200 - sin(rad(Angle))*100 *行坐标 行中心坐标减上移坐标 上移坐标靠sin正弦函数算出 下面同理
Column := 250 + cos(rad(Angle))*100
Color := ['green','red','red','red']
*参数1: WindowHandle要写出窗体的句柄,参数2:要写的字符串 例如:Angle+' deg'指显示已经在前面定义的变量角度加字符串deg
*参数3:坐标系 可选择图像或窗体 这里选择的是窗体 参数4:横纵坐标 这里多个坐标循环写入
*参数5:颜色默认为黑色 这里用color数组来表示多个颜色 参数6:box文本框 如果不显示则是 false 如果显示true 默认是橘色也可以直接写颜色例如例如'white','#FF00CC'等
注意这里的参数2是角度是数组多个值,参数3、4 坐标是循环写入时调用多次,参数5颜色也是数组
disp_message (WindowHandle, Angle+' deg', 'window', Row, Column, Color, 'false')
*画轮廓 参数1:Cross 十字,参数2、3:横纵坐标,参数4:size 生成图像大小,参数5:angle 生成图像的角度
gen_cross_contour_xld (Cross, 200, 250, 200, 0)