• 博客园logo
  • 会员
  • 众包
  • 新闻
  • 博问
  • 闪存
  • 赞助商
  • HarmonyOS
  • Chat2DB
    • 搜索
      所有博客
    • 搜索
      当前博客
  • 写随笔 我的博客 短消息 简洁模式
    用户头像
    我的博客 我的园子 账号设置 会员中心 简洁模式 ... 退出登录
    注册 登录
搬运工_阿壮
博客园    首页    新随笔    联系   管理    订阅  订阅

halcon 图像控件显示闪烁问题

halcon图像内容在c#环境下显示多个对象容易出现闪烁现象,对于c#控件我们第一时间想到的是双缓冲,halcon提供了另一个机制来解决这个问题

在显示图像开始时候禁用图像显示刷新

HSystem::SetSystem("flush_graphic", "false");

在对象加载完成后,打开刷新,然后显示一个看不见的对象

HSystem::SetSystem("flush_graphic", "true");
SetColor(winID, data->backgroundColor);
DispLine(winID, -100.0, -100.0, -101.0, -101.0);

以上代码其实是c++代码,为了实现halcon对象的显示和滚动缩放等效果,通过cli代理,将c#内的halcon图像对象及文字等转化到c++中,由于c++的hobject对象赋值"="操作并非深度复制,且内部动态管理内存,这样将c#中的hobject对象转化到c++中的对象列表来显示及刷新操作,避免了c#对halcon图像对象的内存管理不力导致内存爆炸等问题.

posted @ 2019-10-11 10:09  搬运工_阿壮  阅读(1169)  评论(0)    收藏  举报
刷新页面返回顶部
博客园  ©  2004-2025
浙公网安备 33010602011771号 浙ICP备2021040463号-3