热点推荐

查看: 279|回复: 3
收起左侧

[待解决] set_front和write_message报错

[复制链接]

该用户从未签到

2

主题

6

帖子

14

积分

Rank: 1

积分
14

切换助手验证会员

发表于 2019-2-20 20:46:11 | 显示全部楼层 |阅读模式

51Halcon诚邀您的加入,专注于机器视觉开发与应用技术,我们一直都在努力!

您需要 登录 才可以下载或查看,没有帐号?会员注册

x
22.PNG 33.PNG
set_font (WindowHandle, '-*-' + FontNameUnix + '-*-' + FontSizes[Size] + '-*-*-*-*-*-iso8859-1'),报Wrong front name
write_message (WindowHandle, 10, 10, 'Image '+Index+': Pattern to be tested was found ambiguously', false),报如上左图错误

发帖求助前要善用论坛搜索功能,那里可能会有你要找的答案;

如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子分类或者标题前面加上【已解决】

回报帮助你解决问题的坛友,右下角【免费评分】赠与对方视觉币和热心值,伸手党遭人唾弃,做一个热心并受欢迎的人!

  • TA的每日心情
    耍酷
    昨天 11:06
  • 签到天数: 373 天

    连续签到: 6 天

    [LV.9]以坛为家II

    96

    主题

    442

    帖子

    2425

    积分

    Rank: 9

    积分
    2425

    热心会员突出贡献切换助手验证会员最佳新人

    发表于 2019-2-21 11:42:04 | 显示全部楼层
    建议楼主用query_font (WindowHandle, Font) 先查询下字体,然后在根据字体构造下去设置。
    你这样发出来我也不知道你那几个变量值对不对,每个人电脑字体都不一样的。

    该用户从未签到

    2

    主题

    6

    帖子

    14

    积分

    Rank: 1

    积分
    14

    切换助手验证会员

     楼主| 发表于 2019-2-21 20:35:50 | 显示全部楼层
    write_message这个函数一直报错,这样设置变量有问题吗?
    write_message (WindowHandle, 950, 10, 'Press \'Run\' to continue', 0)

    发帖求助前要善用论坛搜索功能,那里可能会有你要找的答案;

    如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子分类或者标题前面加上【已解决】

    回报帮助你解决问题的坛友,右下角【免费评分】赠与对方视觉币和热心值,伸手党遭人唾弃,做一个热心并受欢迎的人!

  • TA的每日心情
    点赞
    昨天 15:15
  • 签到天数: 588 天

    连续签到: 5 天

    [LV.9]以坛为家II

    348

    主题

    1316

    帖子

    6438

    积分

    Rank: 9

    积分
    6438

    突出贡献优秀版主荣誉管理论坛元老切换助手验证会员最佳新人

    发表于 2019-2-21 22:33:42 | 显示全部楼层
    首先,write_message这个算子我在12版本中没有发现,用了18.11 Steady中可以,这个算子的意思是把一个消息写入文件中,定义如下:
    1. write_message( : : MessageHandle, FileName, GenParamName, GenParamValue : )
    复制代码
    楼主的代码如下:
    1. write_message (WindowHandle, 10, 10, 'Image '+Index+': Pattern to be tested was found ambiguously', false)
    复制代码
    很明显楼主是才学Halcon的吧,算子参数个数都对应不上,第一个是消息句柄,变成了窗口句柄!第二个是文件路径名称,变成了10,10这样的参数!第三、四个是参数名称和参数值,设置了一个字符串和false值,参数个数不匹配为最明显错误,后面的错误就是句柄错误或者参数设置错误了(虽然还没有轮到提示)。

    再来看看set_font错误
    1. set_font (WindowHandle, '-*-' + FontNameUnix + '-*-' + FontSizes[Size] + '-*-*-*-*-*-iso8859-1'),报Wrong front name
    复制代码
    楼主没有说明halcon版本,从代码初步推测write_message低版本没有,那么我当是18.11好了,那么看看定义是什么?
    1. set_font( : : WindowHandle, Font : )
    复制代码
    第一个是窗口句柄,不是消息句柄,第二个是输入控制类型参数字体,既然要设置我们可以要先查有没有这些类型,需要用的算子为:
    1. WindowHandle:=0
    2. dev_get_window (WindowHandle)
    3. query_font (WindowHandle, Font)
    复制代码
    查到了我电脑上有280个字体:
    QQ截图20190221222022.png
    那么set_font中Font格式应该是怎样,我们查到set_font中的一句话:
    1. The syntax for the specification of Font is the following:

    2. FONTNAME[-STYLE]-FONT_SIZE.
    复制代码
    英语不好的可以翻译,大概意思就是字体指定的符号可以是下面这样指定:字体名称[-样式-]-字体大小!其他我们都知道,样式是怎样的呢?
    1. The optional STYLE may be one of the following (other values are possible as well): 样式选项可以是下面任意一个值
    2. Normal,Bold,BoldItalic, or Italic. 普通、粗体、粗斜体或斜体
    复制代码

    “'default-Normal-12'”是我通过get_font查询到我当前系统用的字体和大小,是默认的普通12号字体!我找个熟悉的字体,发现73号是黑体,试试看:
    QQ截图20190221222903.png
    先读取一幅图像,至于为什么,不多说了,看代码:
    1. read_image (Image, 'printer_chip/printer_chip_01')
    2. set_font (WindowHandle, Font[73]+'-Bold-50')
    3. disp_message (WindowHandle, '20号加粗黑体字体设置', 'window', 12, 12, 'green', 'true')
    复制代码
    效果如下:
    QQ截图20190221223047.png
    再看看楼主设置的字体,楼主这是早期版本获取的格式吧?有没有查验过是不是这样的格式?你的代码已经提示你错误的字体了,你可以尝试读取出字体再进行设置!
    希望能够帮到你,这个问题确实太基础了,我看楼主有点白,就写了很多详细的解释,希望楼主能够看懂,解决了给我一个赞,打字教学不容易!






    无效附件更新 权限提升操作 删帖申请 举报以及其他需要帮助请加入QQ群:214663141 广告位招商 有意者联系
    您需要登录后才可以回帖 会员登录 | 会员注册

    本版积分规则

    经营性网站备案信息 经营性网站
    备案信息

    中国互联网举报中心 中国互联网
    举报中心

    中国文明网传播文明 中国文明网
    传播文明

    诚信网站

    深圳市市场监督管理局企业主体身份公示 工商网监
    电子标识