3 Arno0377

尚未进行身份认证

我要认证

C++/C# 工控开发

等级
TA的排名 19w+

C# 好用的代码编辑控件

https://github.com/arnoxinglei/SharpDevelop

2020-10-20 17:45:45

wpf 窗体双击放大和缩小

给窗体鼠标按下事件绑定处理方法 this.MouseDown += MainWindow_MouseDown;在鼠标按下事件处理方法中实现拖拽和放大缩小private void MainWindow_MouseDown(object sender, MouseButtonEventArgs e){ // 按下拖动 if (e.LeftButton == MouseButtonState.Pressed) { this.DragMove(); }

2020-10-20 16:12:53

C# 托管内存与非托管内存之间的转换

C# 托管内存与非托管内存之间的转换c#有自己的内存回收机制,所以在c#中我们可以只new,不用关心怎样delete,c#使用gc来清理内存,这部分内存就是managed memory,大部分时候我们工作于c#环境中,都是在使用托管内存,然而c#毕竟运行在c++之上,有的时候,(比如可能我们需要引入一些第三方的c++或native代码的库,在Unity3d开发中很常见)我们需要直接在c#中操纵非托管的代码,这些non-managed memory我们就需要自己去处理他们的申请和释放了, c# 中提供了一些

2020-09-25 14:17:42

C# Marshal的使用

IntPtr ptr = Marshal.AllocHGlobal(704* 576 * 3);如果没有手动释放内存,会有内存溢出;发生OutOfMemoryException 没有足够的内存继续执行程序时引发的异常。调用Marshal.AllocHGlobal必须调用 Marshal.FreeHGlobal(ptr);来手动释放内存,即使调用GC.Collect();方法也无法释放。...

2020-09-25 14:09:56

halcon 计算区域的灰度特征

名称cooc_feature_matrix - 从共生矩阵计算灰度值特征。用法cooc_feature_matrix(CoocMatrix : : : Energy, Correlation, Homogeneity, Contrast)描述  算子根据共生矩阵(Coo_Matrix)计算能量(Energy),相关性(Correlation性),局部均匀性(Homogeneity)和对比度(Contrast)。苹果和橘子 gmm分类例程:classify_citrus_fruits.hdev

2020-09-11 16:40:44

MFC 判断窗口是否是置顶状态

VC++ 判断你的窗口是否置顶TopMost  大家可能已经知道,使你的窗口置顶(TopMost)或者总是最前(Always on Top)的方法:// Make topmost::SetWindowPos(hwnd, HWND_TOPMOST, 0, 0, 0, 0, SWP_NOMOVE | SWP_NOSIZE); // Revert back::SetWindowPos(hwnd, HWND_NOTOPMOST, 0, 0, 0, 0, SWP_NOMOVE | SWP_NOSIZE);

2020-09-05 14:42:16

halcon例程代码目录

C:\Users\Public\Documents\MVTec\HALCON-17.12-Progress\examples

2020-08-19 15:17:51

使用Dependency Walker工具查看DLL文件

右上方一共有两个部分,其中,PI是Parent Import Function List View的简写,E是Export Function List View的简写。通过这两个部分,用户可以观察到该DLL文件从哪些其他文件中调用了函数(PI),又提供了哪些接口,让其他的程序调用(E)。需要特别注意的是,DependencyWalker中提供的函数名是C语言可以调用的函数名。...

2020-07-14 18:48:08

Visual studio 中的Targets文件

1、工程中没有一个C#文件2、工程同目录下有Targets文件夹3、target文件中存储了要编译的文件名称

2020-07-14 11:38:50

Halcon 算子

1、求两条直线的交点intersection_lines (Operator)Nameintersection_lines — Calculate the intersection point of two linesSignatureintersection_lines( : : Line1Row1, Line1Column1, Line1Row2, Line1Column2, Line2Row1, Line2Column1, Line2Row2, Line2Column2 : Row, Col

2020-07-08 09:10:11

CLR system::string^转std::string

In mixed mode, you sometimes must marshal your data between native and managed types. The marshaling library helps you marshal and convert data in a simple way. The marshaling library consists of a set of functions and a marshal_context class that perform

2020-07-03 13:42:00

String^与string的相互转换

采用了c++调用c#dll的方法,在.net中string是需要用gcnew进行初始化,先来看看gcnew和普通的new的区别:C++/CLI中使用gcnew关键字表示在托管堆上分配内存,并且为了与以前的指针区分,用^来替换* ,就语义上来说他们的区别大致如下:1. gcnew返回的是一个句柄(Handle),而new返回的是实际的内存地址.  2. gcnew创建的对象由虚拟机托管,而new创建的对象必须自己来管理和释放.暂时没有很深入的去理解这些区别。因为需要在c++的控制代码中

2020-07-03 10:07:56

halcon 窗口显示颜色是单色

C# halcon控件显示region是单色,设置方法HObject ho_Image; ho_Image = OpCS.getcppObj(); HObject connnect_region; HOperatorSet.Connection(ho_Image, out connnect_region); HTuple a = 0; HOperatorSet.CountObj(ho_Image, out a);

2020-06-24 15:08:56

C++ 中#和##

#和##运算符#:构串操作符构串操作符#只能修饰带参数的宏的形参,它将实参的字符序列(而不是实参代表的值)转换成字符串常量#define STRING(x) #x#x#x#define TEXT(x) "class"#x"Info"//宏引用:int abc = 100;STRING(abc);TEXT(abc);//替换结果:abcabcabcclassabcInfo##:合并操作符合并操作符##将出现在其左右的字符序列合并成一个新的标识符注意:使用合并操作符##时,自身的

2020-06-22 19:08:11

C++ ##作用

它是个用在宏中的关键字.表示将前后数据连接起来.如: #define Conn(str) str##MyName这样使用 Conn(123)则等价于 123MyName

2020-06-22 11:25:03

图形化编程工具

google出品的开源图形化编程框架https://github.com/arnoxinglei/blocklyMixly是一款面向初学者、硬件编程爱好者的图形化编程工具。它完美地支持了Arduino、MicroPython,Python等语言的图形化编程。提供了图形化界面和代码界面对比显示的支持。Mixly还支持自定义第三方扩展库,可以拓展出丰富的功能。http://mixly.org...

2020-06-20 11:00:36

C# 中intptr用法

一:什么是IntPtr先来看看MSDN上说的:用于表示指针或句柄的平台特定类型。这个其实说出了这样两个事实,IntPtr 可以用来表示指针或句柄、它是一个平台特定类型。对于它的解释,这个哥们写的比较好:It’s a class that wraps a pointer that is used when calling Windows API functions. The underlying pointer may be 32 bit or 64 bit, depending on the platfo

2020-06-20 09:44:27

WPF 限制鼠标的移动范围

public struct RECT { public int Left; public int Top; public int Right; public int Bottom; public RECT(Int32 left, Int32 top, Int32 right, Int32 bottom) { Left = left; Top = top;

2020-06-10 13:42:09

继续聊WPF——Thumb控件

这个控件,真不好介绍,MSDN上也是草草几句,反正就是可以让用户拖动的玩意儿,但是,你会发现,当你在该控件上拖动时,它没有反响,也就是说这个东西默认不做任何操作的,它是赖在那里什么都不干,除非你去踢上脚。而且,这个控件就像一个四方鸭,你踢一脚它就前进一步,你不踢,它又在那里尸位素餐,什么都不干了。还是用一个例子来说明吧,不过,还是先说一下重要的东西。Thumb有几个核心事件,都是与拖动有关。往深一层想,它是什么?对,就是我们常见的滚动条里面的滑块,就是我们在网格里面可以拖动的分隔线,就是窗口右下角用

2020-06-09 23:13:57

WPF中重叠控件的鼠标穿透点击

Problem:有控件A和控件B,位置完全重叠,B覆盖在A上方。换句话说,B只是A的修饰(实现中经常有可能会碰到这样的情况,比如B可能是一个png图片,你又不想重写A的模板),我们需要在鼠标操作时透过B直接点击到A。Solution:你可能会想让B的鼠标事件不执行(e.handle=false)。但事实上这样只能把鼠标事件路由到B的父控件,而不会让并列的A控件有反应。其实WPF中这样的实现很简单:将B控件的HitTest属性做修改:IsHitTestVisible=“False”。...

2020-06-09 16:39:33

查看更多

勋章 我的勋章
  • 持之以恒
    持之以恒
    授予每个自然月内发布4篇或4篇以上原创或翻译IT博文的用户。不积跬步无以至千里,不积小流无以成江海,程序人生的精彩需要坚持不懈地积累!
  • 勤写标兵Lv1
    勤写标兵Lv1
    授予每个自然周发布1篇到3篇原创IT博文的用户。本勋章将于次周周三上午根据用户上周的博文发布情况由系统自动颁发。