热点推荐

查看: 2935|回复: 5
收起左侧

[待解决] C#对Halcon二次开发出现闪屏问题

[复制链接]

该用户从未签到

1

主题

5

帖子

458

积分

Rank: 2Rank: 2

积分
458
发表于 2017-5-8 18:28:33 | 显示全部楼层 |阅读模式

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

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

x
各位大神
使用C#对halcon作二次开发,使用Hwindow 做显示时,如果载入的图像比较大,回出现闪屏现象,请问大家有没有好的解决方法

贴出我的代码,请大家指正
  1.         private void hWindowControlShow_HMouseUp(object sender, HMouseEventArgs e)
  2.         {
  3.             if (e.Button == MouseButtons.Right || hRowBegin == null || hColBegin == null)
  4.             {
  5.                 return;
  6.             }
  7.             if(image == null)
  8.             {
  9.                 return;
  10.             }
  11.             HTuple button;
  12.             HTuple row1, col1, row2, col2;
  13.             try
  14.             {
  15.                 HOperatorSet.GetMposition(hWindowControlShow.HalconWindow, out hRowEnd, out hColEnd, out button);

  16.                 double dbRowMove, dbColMove;
  17.                 double dbRowB, dbColB, dbRowE, dbColE;
  18.                 dbRowB = hRowBegin[0].D;
  19.                 dbRowE = hRowEnd[0].D;
  20.                 dbColB = hColBegin[0].D;
  21.                 dbColE = hColEnd[0].D;
  22.                 dbRowMove = -dbRowE + dbRowB;
  23.                 dbColMove = -dbColE + dbColB;

  24.                 HOperatorSet.GetPart(hWindowControlShow.HalconWindow, out row1, out col1, out row2, out col2);
  25.                 HOperatorSet.SetPart(hWindowControlShow.HalconWindow, row1 + dbRowMove, col1 + dbColMove, row2 + dbRowMove, col2 + dbColMove);
  26.                 HOperatorSet.ClearWindow(hWindowControlShow.HalconWindow);
  27.                 HOperatorSet.DispObj(image, hWindowControlShow.HalconWindow);
  28.             }
  29.             catch (Exception ex)
  30.             {
  31.                 MessageBox.Show("Button Up Fail!", "错误", MessageBoxButtons.OK);
  32.             }
  33.         }
复制代码


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

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

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

面向企业销售智能软件带相机和镜头,仅需3500,来电咨询 15019223858  18520862540

该用户从未签到

1

主题

5

帖子

458

积分

Rank: 2Rank: 2

积分
458
 楼主| 发表于 2017-5-9 17:49:58 | 显示全部楼层

RE: C#对Halcon二次开发出现闪屏问题

自己顶以下。

只要在clearwindow 前后添加两个函数就可以了。
  1.         private void hWindowControlShow_HMouseUp(object sender, HMouseEventArgs e)
  2.         {
  3.             if (e.Button == MouseButtons.Right || hRowBegin == null || hColBegin == null)
  4.             {
  5.                 return;
  6.             }
  7.             if(image == null)
  8.             {
  9.                 return;
  10.             }
  11.             HTuple button;
  12.             HTuple row1, col1, row2, col2;
  13.             try
  14.             {
  15.                 HOperatorSet.GetMposition(hWindowControlShow.HalconWindow, out hRowEnd, out hColEnd, out button);

  16.                 double dbRowMove, dbColMove;
  17.                 double dbRowB, dbColB, dbRowE, dbColE;
  18.                 dbRowB = hRowBegin[0].D;
  19.                 dbRowE = hRowEnd[0].D;
  20.                 dbColB = hColBegin[0].D;
  21.                 dbColE = hColEnd[0].D;
  22.                 dbRowMove = -dbRowE + dbRowB;
  23.                 dbColMove = -dbColE + dbColB;

  24.                 HOperatorSet.GetPart(hWindowControlShow.HalconWindow, out row1, out col1, out row2, out col2);
  25.                 HOperatorSet.SetPart(hWindowControlShow.HalconWindow, row1 + dbRowMove, col1 + dbColMove, row2 + dbRowMove, col2 + dbColMove);
  26. <font color="red">
  27. HSystem.SetSystem("flush_graphic", "false");</font>
  28.                 HOperatorSet.ClearWindow(hWindowControlShow.HalconWindow);
  29. <font color="red">HSystem.SetSystem("flush_graphic", "true");</font>
  30.                 HOperatorSet.DispObj(image, hWindowControlShow.HalconWindow);
  31.             }
  32.             catch (Exception ex)
  33.             {
  34.                 MessageBox.Show("Button Up Fail!", "错误", MessageBoxButtons.OK);
  35.             }
  36.         }
复制代码


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

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

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

  • TA的每日心情
    害羞
    2018-4-19 16:23
  • 签到天数: 26 天

    连续签到: 1 天

    [LV.4]偶尔看看III

    0

    主题

    56

    帖子

    134

    积分

    Rank: 1

    积分
    134
    发表于 2017-10-23 20:59:29 | 显示全部楼层
    路过 分享 希望以后用得上!

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

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

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

  • TA的每日心情
    害羞
    2018-3-7 14:29
  • 签到天数: 18 天

    连续签到: 1 天

    [LV.4]偶尔看看III

    3

    主题

    71

    帖子

    153

    积分

    Rank: 2Rank: 2

    积分
    153
    发表于 2017-11-4 11:25:36 | 显示全部楼层

    新手过来学习学习

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

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

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

  • TA的每日心情
    害羞
    2018-9-4 10:08
  • 签到天数: 90 天

    连续签到: 1 天

    [LV.6]常住居民II

    0

    主题

    20

    帖子

    589

    积分

    Rank: 3

    积分
    589
    发表于 2017-11-29 14:56:13 | 显示全部楼层
    Thanks Looks good

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

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

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

    您需要登录后才可以回帖 会员登录 | 会员注册

    本版积分规则

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

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

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

    诚信网站

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