因为之前遇到的那个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. pip安装路径

    pip show 模块名称 即可查看pip安装的包所在路径. 如numpy: pip show numpy

  2. Centos 安装java

    1.下载jdk:jdk-8u181-linux-x64.tar.gz,下载地址不用我说了把.. 2.新建java文件夹 mkdir /usr/java 3.将下载的包传到此文件夹中,然后解压 cd / ...

  3. [LeetCode]Jump GameII

    题目:Jump GameII 如果要求找最小的调数,考虑扩张的思路. 思路如下: 1.首先找起始位能到达的范围是否覆盖了最终位置,并记录下搜索中的最远能到达的位置值,即max{nums[i] + i} ...

  4. PHP5.6版本在Windows上安装redis扩展

    PHP使用redis扩展 一.php安装redis扩展   1.使用phpinfo()函数查看PHP的版本信息,这会决定扩展文件版本       2.根据PHP版本号,编译器版本号和CPU架构, 选择 ...

  5. 通俗讲解 RESTful

    1 什么是 RESTful 百度一下 RESTful,查到的资料很多都讲得不清楚,看完了都不知道说的是啥,导致很多人对 RESTful 不甚了解.来看一下常见的解释: (1)神一样的描述REST 并不 ...

  6. FPGA 内部详细架构你明白了吗?

    FPGA 芯片整体架构如下所示,大体按照时钟域划分的,即根据不同的工艺.器件速度和对应的时钟进行划分: FPGA 内部详细架构又细分为如下六大模块: 1.可编程输入输出单元(IOB)(Input Ou ...

  7. 《深度解析Tomcat》 第一章 一个简单的Web服务器

    本章介绍Java Web服务器是如何运行的.从中可以知道Tomcat是如何工作的. 基于Java的Web服务器会使用java.net.Socket类和java.net.ServerSocket类这两个 ...

  8. WordCount程序【Spark Streaming版本】

    ~~ 前置 ~~ Spark Streaming 常常对接 :本地文件.HDFS.端口.flume.kafka package february.streaming import org.apache ...

  9. Shell之三剑客

    目录 Shell之三剑客 参考 Grep Sed Awk Shell之三剑客

  10. 向net core 3.0进击——Swagger的改变

    目录 前言 引入 测试 小结 前言 十一小长假在不知不觉间可都没了,在这个小尾巴的空隙,把这两天鼓捣的net core 3.0升级过程记录一下,首先还是根据之前的顺序一个个补充进来,先从Swagger ...