因为之前遇到的那个halcon处理的图片要转换成ImageSource的问题,迟迟没有找到好的解决方案,
于是决定直接在wpf中使用halcon提供的HWindowControlWPF,用于显示图片。
结果发现这个东西好坑啊,这个东西感觉就是个窗口,不能直接绑定图片资源,不能实现像给Image控件添加Source的那样的功能。
只能够使用HOperatorSet.DispObj 来将图片显示到窗口上。

随之而来的几个问题:

  1. 窗口拉大缩小过程中,图片会消失掉,尝试了各种事件,例如OnHMouseUp,OnMouseDown,还有整个窗口的SizeChange之类的,让这些事件触发的时候全都来个显示图片,然而都不能完全解决这个问题,
    而且很神奇的是图片消失掉之后,点一下这个控件,图片就显示出来了。。。这里可能和我设置的某一个事件有关,没有详细研究。当时试了太多情况了,没有一一记录下来,过后就忘记了。。。
  2. 图片大小不好控制,我像按照一定的尺寸来显示图片,尝试了设置控件的ImagePart,RenderSize,Width,Height等等一系列的属性,但是效果乱七八糟的,等以后有空了可以总结一下是怎么个乱七八糟法。
  3. 网上竟然几乎找不到关于这个控件的使用说明,很绝望。。。连ihalcon论坛里面都没有多少关于这个控件的介绍。很幸运找到了一个别人写的wpf结合halcon控件的一个提取ROI的程序,准备好好研究一下,这个程序也存在图片消失的问题。
  4. OnRender的时候,这个窗口的句柄是没有的,要OnRender之后句柄才会出来,之前在这边加了一个操作,如果有句柄的话,就显示图片,如果没有句柄的话,就不要显示图片。OnRender之后才有句柄的话,会不会意味着我的那个操作是完全有问题的,我的显示图片的窗口句柄用的是之前的句柄,而不是重绘界面之后的句柄,那么其实我的图片也没有显示在最新的那个界面上,而是显示在了前一刻的那个界面上?
    要怎么才能在界面出来的时候同时就把要显示的图片显示上去呢?
  5. 不知道在wpf中使用这个控件是不是一个正确的选择,一般都是怎么结合起来编程的呢,目前关于这个方面感觉前方迷雾重重。
  6. 事件和OnRender的顺序是怎样的?这个问题应该还是比较基础的,要了解一下。
    论坛上应该会有联合编程的例子,找来看看吧。

Halcon C# 联合编程问题(三)的更多相关文章

  1. WCF编程系列(三)地址与绑定

    WCF编程系列(三)地址与绑定   地址     地址指定了接收消息的位置,WCF中地址以统一资源标识符(URI)的形式指定.URI由通讯协议和位置路径两部分组成,如示例一中的: http://loc ...

  2. c++与matlab联合编程,调用Deploytool 生成exe文件和dll文件(转)

    转自:http://www.cnblogs.com/xlw1219/archive/2012/12/25/2832222.html 首先必须知道联合编程需要知道的一些命令解释: mcc 的作用是将 . ...

  3. Javascript模块化编程(三):require.js的用法

    Javascript模块化编程(三):require.js的用法 原文地址:http://www.ruanyifeng.com/blog/2012/11/require_js.html 作者: 阮一峰 ...

  4. 5天玩转C#并行和多线程编程 —— 第三天 认识和使用Task

    5天玩转C#并行和多线程编程系列文章目录 5天玩转C#并行和多线程编程 —— 第一天 认识Parallel 5天玩转C#并行和多线程编程 —— 第二天 并行集合和PLinq 5天玩转C#并行和多线程编 ...

  5. 【转】apue《UNIX环境高级编程第三版》第一章答案详解

    原文网址:http://blog.csdn.net/hubbybob1/article/details/40859835 大家好,从这周开始学习apue<UNIX环境高级编程第三版>,在此 ...

  6. 转:JavaScript函数式编程(三)

    转:JavaScript函数式编程(三) 作者: Stark伟 这是完结篇了. 在第二篇文章里,我们介绍了 Maybe.Either.IO 等几种常见的 Functor,或许很多看完第二篇文章的人都会 ...

  7. 【unix网络编程第三版】阅读笔记(五):I/O复用:select和poll函数

    本博文主要针对UNP一书中的第六章内容来聊聊I/O复用技术以及其在网络编程中的实现 1. I/O复用技术 I/O多路复用是指内核一旦发现进程指定的一个或者多个I/O条件准备就绪,它就通知该进程.I/O ...

  8. 【unix网络编程第三版】阅读笔记(三):基本套接字编程

    unp第三章主要介绍了基本套接字编程函数.主要有:socket(),bind(),connect(),accept(),listen()等. 本博文也直接进入正题,对这几个函数进行剖析和讲解. 1. ...

  9. 脑残式网络编程入门(三):HTTP协议必知必会的一些知识

    本文原作者:“竹千代”,原文由“玉刚说”写作平台提供写作赞助,原文版权归“玉刚说”微信公众号所有,即时通讯网收录时有改动. 1.前言 无论是即时通讯应用还是传统的信息系统,Http协议都是我们最常打交 ...

随机推荐

  1. Laravel 5.4 快速开发简书:

    Laravel 5.4 快速开发简书第1章 课程介绍 介绍课程的大体脉络和课程安排 第2章 Laravel 5.4介绍 本节课会带领大家介绍laravel的各个版本历史以及讨论php框架的未来发展趋势 ...

  2. 新版本SpringCloud sleuth整合zipkin

    SpringCloud Sleuth 简介 Spring Cloud Sleuth为Spring Cloud实现了分布式跟踪解决方案. Spring Cloud Sleuth借鉴了Dapper的术语. ...

  3. python9

    v> 软件测试 广州博才科技开发有限公司 迅捷PDF编辑器 3.5 集合 学习目标: 1. 能够说出如何创建集合 2. 能够说出字典和集合的区别 3. 能够说出如何向集合中添加元素 4. 能够说 ...

  4. JavaSE知识点总结(一)

    第一章 课程介绍第二章 java语言概述 课时2:作业 1.常用软件分为那两类? 系统软件 应用软件 2.人机交互的两种方式是哪两种? 图形化界面 代码行命令 课时3:作业 1.java语言的特性有哪 ...

  5. linux初学者小记

    a开头的小命令 alias命令 # echo=' - - - ' > /sys/class/scsi_host/host0/scan这条命令是咱们在给虚拟机装了一块新的硬盘后,在不关机的前提下扫 ...

  6. windows下虚拟环境virtualenv的简单操作

    使用豆瓣源安装(推荐) [推荐] python3.X安装和pip安装方法 pip install -i https://pypi.douban.com/simple XXX 1.安装virtualen ...

  7. SpringBootSecurity学习(08)网页版登录整合MyBatis

    创建数据库 前面介绍了springboot-security整合jdbc从数据库中查询用户的方式,适用性有限,下面介绍最常用的整合MyBatis,这种在开发和生产环境中是最常用,也是最实用的.首先需要 ...

  8. 死磕 java同步系列之Phaser源码解析

    问题 (1)Phaser是什么? (2)Phaser具有哪些特性? (3)Phaser相对于CyclicBarrier和CountDownLatch的优势? 简介 Phaser,翻译为阶段,它适用于这 ...

  9. 项目管理知识点-结合Enovia项目管理模块

    核心知识域:整体管理.范围管理.进度管理.成本管理.质量管理.信息安全管理 保障域:人力资源管理.合同管理.采购管理.风险管理.信息(文档)管理.配置管理.知识产权管理.法律法规标准规范管理.职业道德 ...

  10. 蓝松短视频SDK支持AE模板, 可做类似微商视频, 小柿饼的效果等

    AE模板: 是指设计师用Adobe After Effect做好各种视频动画,比如炫酷视频,文艺/搞笑的场景,相册效果等,根据我们的指导文件导出.蓝松SDK会解析导出的文件,自动还原成AE设计时的动画 ...