1. 程式人生 > 其它 >halcon常用運算元詳解

halcon常用運算元詳解

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)