halcon C++编程 第17讲 C++窗口函数(tcy)

1.1.窗口函数:
	dev_clear_window      清除活动图形窗口内容
	dev_close_window      关闭活动图形窗口
	dev_disp_text         在当前图形窗口中显示文本
	dev_display           在当前图形窗口中显示图像对象

	dev_get_window        返回活动图形窗口句柄
	dev_open_window       打开一个新图形窗口
	dev_set_color         设置一或多种输出颜色
	dev_set_colored       设置多种输出颜。
	dev_set_draw          定义区域填充模式

	dev_set_line_width    定义区域轮廓输出线宽
	dev_set_lut           设置“查找表”(lut)
	dev_set_paint         定义灰度值输出模式-3D or 2D
	dev_set_part          修改显示的图像部分

	dev_set_shape         定义区域输出形状
	dev_set_window        激活图形窗口
	dev_set_window_extents更改活动图形窗口位置和大小
2.实例:

实例1.1:多窗口

read_image (image1,'mreut')
read_image (image2, 'fabrik')
read_image (image3, 'monkey')
read_image (image4, 'bk45')

get_image_size (image4, Width, Height)

dev_close_window ()                                    //关闭当前窗口
dev_open_window (0, 0, -1,-1, 'black', winHnd1)        //打开4个窗口-自适应大小
dev_open_window (0, 0,-1,-1, 'black', winHnd2)
dev_open_window (0, 0,-1,-1, 'black', winHnd3)
dev_open_window (0, 0, Width, Height, 'black', winHnd4)//打开固定尺寸窗口

dev_get_window (CurrentWindowID)                       //获取当前窗口句柄=winHnd4

dev_set_window(winHnd1)                                //设置当前窗口位winHnd1
threshold (image1, Region1, 100, 200)
*regiongrowing (image1, Regions1, 3, 3, 6, 100)
dev_clear_window()                                     //清除当前窗口
dev_display (Region1)                                  //在当前窗口显示

dev_set_window(winHnd2)
dev_display (image2)

dev_set_window (winHnd3)
dev_set_color('white' ) //显示区域颜色
*dev_set_colored (12)   //不同颜色显示
dev_set_draw ('margin') //显示图形轮廓

dev_display (image3)

dev_set_window(CurrentWindowID) 
dev_display (image4)

*当前窗口中显示文本-必须放在显示图像后面,放到前面看不到文字
dev_disp_text ('Display some text in a box', 'image', 30, 30,'green', ['box'], ['false'])
实例1.2:显示文本
	dev_open_window(0,0,-1,-1,'black',winHnd)
	dev_set_color('green')
	disp_arrow(winHnd,255-20,255-20,255,255,1)                    //画箭头-缩放文本消失

	disp_message(winHnd,'Tom','window',20,20,'blue','true')       //显示文本-缩放文本消失
	dev_set_color('red')
	set_tposition(winHnd,40,40)                                   //设置光标位置
	write_string(winHnd,'Bob')                                    //简单写字符串-缩放文本消失
	set_tposition(winHnd,255,255)

	dev_disp_text('Jim','window', 60,60,'blue',['box'],['false'] )//缩放文本不消失
实例2:更改在窗口显示的位置

dev_close_window ()
read_image (For5, 'for5')
get_image_size (For5, Width, Height)
dev_open_window (0, 0, Width, Height, 'black', WindowHandle)
dev_display (For5)
stop ()
dev_set_window_extents (-1,-1,Width/2,Height/2)
dev_display (For5)
stop ()
dev_set_window_extents (200,200,-1,-1)

 实例3:显示区域的形状

read_image(Image,'monkey')
threshold(Image,Region,128,255)
connection(Region,Regions)
dev_set_shape('rectangle1')
dev_set_draw('margin')
dev_set_line_width(5)
dev_clear_window()
dev_display(Regions)
实例4:显示的图像部分(动态:类似图片从远处走来)
read_image (Image, 'fabrik')
for i := 1 to 240 by 10
  dev_set_part (i, i, 511-i, 511-i)
  dev_display (Image)
  wait_seconds(0.5)
endfor
dev_set_part (1, 1, -1, -1)
dev_display (Image)
示例5:显示3D模式
read_image(Image,'fabrik')
dev_set_paint('3d_plot')
dev_display(Image)
示例6:轮廓模式下区域输出的线宽
read_image(image,'monkey')
threshold(image,Region,128,255)
dev_set_draw('margin')//定义区域的填充模式-轮廓
dev_set_line_width(5)
dev_clear_window ()
dev_display(Region)
示例7:查找表
dev_close_window ()
read_image (For5, 'for5')
get_image_size (For5, Width, Height)
dev_open_window (0, 0, Width, Height, 'black', winHnd)
dev_display (For5)
dev_set_lut ('rainbow')
dev_display (For5)
stop ()
dev_set_lut ('default')
dev_display (For5)
stop ()
dev_set_part (100, 100, 300, 300)
dev_display (For5)
3.备注:
dev_open_window( : : Row, Column, Width, Height, Background : winHnd)
用途:打开一新图形窗口,用于显示图标对象
参数:
	Row    y=0  ≤ Row整数→左上角行索引
	Column x=0  ≤ Column整数→左上角列索引
	Width=512   ≤Width整数→窗口宽度 [-1]
	Height=512  ≤Height整数→窗口高度[-1]

	Background='black' 整数,字符串→新窗口背景颜色
	winHnd窗口句柄→输出

dev_set_color( : : ColorName : )
用途:用于在图形窗口中显示区域XLD和其他几何对象的颜色
参数:ColorName='white' 字符串(数组)→
      ['black', 'gray', 'red', 'green', 'blue', '#003075', '#e53019', '#ffb529']
	  
dev_set_colored( : : NumColors : )
用途:用一组预定义颜色在图形窗口中以不同的颜色显示区域,XLD和其他几何对象元组
参数:NumColors =6整数→值列表= 3、6、12

dev_set_draw( : : DrawMode : )
用途:定义区域的填充模式
参数:DrawMode='fill'区域填充;'margin'显示轮廓

dev_set_line_width( : : LineWidth : )
用途:定义显示区域轮廓线宽度(像素)
参数:LineWidth=1  整数→线宽

dev_set_paint( : : Mode : )
用途:显示3D模式

参数:Mode='default','3d_plot'

dev_set_part( : : Row1, Column1, Row2, Column2 : )
用途:设置在图形窗口中显示的图像部分
参数:Row1,Column1 y,x 整数→所选图像零件左上角的行列
      Row1,Column1 y,x 整数→所选图像零件右下角的行列
	  
dev_set_window( : : WindowHandle : )激活图形窗口

dev_set_window_extents( : : Row, Column, Width, Height : )
用途:更改当前活动图形窗口的位置和/或大小
参数:|整数| or -1 负坐标忽略
dev_set_shape( : : Shape : )
用途:定义用于显示区域的形状
参数:Shape='original'  形状保持不变
		'outer_circle':每个区域均以最小圆显示
		'inner_circle':每个区域均以最大圆显示
		'ellipse':     每个区域都由一个椭圆形显示
		'rectangle1':  每个区域均由平行于坐标轴最小周围矩形显示
		'rectangle2':  每个区域均以最小周围矩形显示
		'convex':      每个区域均以其凸包显示
		'icon':        每个区域都由在重心中设置的图标显示 。 set_icon
dev_set_lut( : : LutName : )
用途:设置活动图形窗口的查找表
参数:LutName='default' → string values of look-up-table (RGB) or file name.
		['linear', 'inverse', 'sqr', 'inv_sqr', 'cube', 
		 'inv_cube', 'sqrt', 'inv_sqrt', 'cubic_root', 'inv_cubic_root',
		 'color1', 'color2', 'color3', 'color4', 'three', 'six', 
		 'twelve', 'twenty_four', 'rainbow', 'temperature', 'cyclic_gray',
		 'cyclic_temperature', 'hsi', 'change1', 'change2', 'change3']
	    File extension: .lut
dev_disp_text( : : String, CoordSystem, Row, Column, Color, GenParamName, GenParamValue : )
用途:在当前图形窗口显示文本n
参数:
	String string(-array)  文本元组。元组每个值将显示在一行中
	CoordSystem  ='window' 窗口/'image'图像坐标(缩放)
	Row   y(-array)=12     (integer,real,string)垂直对齐方式或行坐标
						   List: 12, 'bottom', 'center', 'top'
	Column x(-array)=12    (integer,real,string) 水平对齐方式或列坐标
						   List: 12, 'center', 'left', 'right'
	Color ='black'         string(-array)文本颜色字符串元组
					List: 'black', 'blue', 'coral'珊瑚, 'cyan'青色, 'forest green'森林绿,'green', 
						  'lime green'石灰绿色, 'magenta'洋红, 'red', 'slate blue'板岩蓝, 'yellow'

	GenParamName name(-array)=[] →   (string)通用参数名称
					List: 'border_radius', 'box', 'box_color', 'box_padding','shadow', 
						  'shadow_color', 'shadow_dx', 'shadow_dy', 'shadow_sigma'
	GenParamValue value(-array)=[] → (string,integer,real)通用参数值
					List: 5.0, 'black', 'blue', 'false', 'forest green', 'red', 'true', 'white'

通用参数:
	'box'='true'          文本写在box内
	'box_color'=#fce9d4”  浅橙色-框的颜色['white','red','#aa00bba0']
	'shadow'='true'       框下方显示阴影
	'shadow_color'='true' 设置阴影颜色 如box_color=None,则为#f28d26深橙否则白色
	'border_radius'=2     |real|框角圆度。尖角=0,较平滑角设置更高值
	'box_padding'=0       |real|控制框在文本周围扩展到多少像素
	'shadow_sigma'=1.5    |real|控制框下方阴影模糊量。0可获得清晰阴影
	'shadow_dx','shadow_dy'=2 real像素单位 控制阴影在列和行方向上偏移量

说明:
	一个位置则为每个元素显示一个文本行
	多个位置仅允许单字符串(必用'\n')或每位置一字符串

	预定义值'bottom'仅用在窗口

 

你可能感兴趣的:(HaIcon,C/C++)