Halcon机器视觉论坛

 找回密码
 会员注册

QQ登录

只需一步,快速开始

扫一扫,访问微社区

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

[待解决] set_front和write_message报错

[复制链接]

该用户从未签到

2

主题

6

帖子

14

积分

Rank: 1

积分
14

切换助手验证会员

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

试用员工 |主题 2|帖子 6|积分 14

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的每日心情
    开心
    昨天 18:01
  • 签到天数: 419 天

    连续签到: 2 天

    [LV.9]以坛为家II

    104

    主题

    496

    帖子

    2707

    积分

    Rank: 9

    积分
    2707

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

    发表于 2019-2-21 11:42:04 | 显示全部楼层

    管理员 |主题 104|帖子 496|积分 2707

    建议楼主用query_font (WindowHandle, Font) 先查询下字体,然后在根据字体构造下去设置。
    你这样发出来我也不知道你那几个变量值对不对,每个人电脑字体都不一样的。

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

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

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

    该用户从未签到

    2

    主题

    6

    帖子

    14

    积分

    Rank: 1

    积分
    14

    切换助手验证会员

     楼主| 发表于 2019-2-21 20:35:50 | 显示全部楼层

    试用员工 |主题 2|帖子 6|积分 14

    write_message这个函数一直报错,这样设置变量有问题吗?
    write_message (WindowHandle, 950, 10, 'Press \'Run\' to continue', 0)

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

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

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

  • TA的每日心情
    耍酷
    昨天 09:23
  • 签到天数: 639 天

    连续签到: 3 天

    [LV.9]以坛为家II

    353

    主题

    1360

    帖子

    5286

    积分

    Rank: 9

    积分
    5286

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

    发表于 2019-2-21 22:33:42 | 显示全部楼层

    管理员 |主题 353|帖子 1360|积分 5286

    首先,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 广告位招商 有意者联系
    您需要登录后才可以回帖 会员登录 | 会员注册

    本版积分规则

    关闭

    站长推荐上一条 /1 下一条

    Halcon鸟叔机器视觉1鸟叔机器视觉 | 51Halcon官方客服咨询官方客服咨询 | Halcon切换助手使用反馈切换助手使用反馈 | 51Halcon论坛管理团队论坛管理团队

    申请友链| 小黑屋| 手机版| Archiver| Halcon机器视觉论坛  

    粤ICP备15095995号-2 粤公网安备44030602000670号

    Powered by Discuz! X3.4 Licensed© 2015-2019 Comsenz Inc.

    快速回复 返回顶部 返回列表