- 博客(59)
- 资源 (7)
- 收藏
- 关注
原创 unity 程序做一个折叠菜单
首先新建一个scroll view,然后在content里面添加vertical layout group和content size fitter这两个组件。(vertical layout group 的 spacing要设置成10左右,这一步是关键)第一次遇到这种需求,本来以为很难,没想到试了一下以后没啥难度,所以记录一下。然后在content里面放几个按钮,充当标题栏和内容栏。然后在脚本中给按钮赋值,这样就可以使用代码控制按钮了。
2024-08-05 15:43:52 502
原创 使用OpencvSharp实现人脸识别
在网上有很多关于这方面的博客,但是都没有说完整,按照他们的博客做下来代码都不能跑。所以我就自己写个博客补充一下。一定要安装OpenCvSharp4.runtime.win 否则运行后会报错。我这使用的.NET框架版本是 .NetFramework4.7.1。使用Nuget安装这两个程序包就够了,不需要其他的配置。
2024-07-09 09:52:58 438 1
转载 整理:WPF中Binding的几种写法
使用twoway方式绑定以后,如果手动更改textbox的值,此时如果通过按钮事件来查看滚动条的value值,就会发现和textbox是一致。default方式,这个方式完全就是根据控件的属性来设置的。有的属性适合twoway方式,比如交互的UI控件,有的只能oneway方式。就是文本框更改的时候会改变源的属性。oneway方式,就是滚动条改变的时候会改变文本框的显示值,但是文本框更改的时候不会更改滚动条的值。无论是目标属性还是源属性,只要发生了更改,TwoWay 就会更新目标属性或源属性。
2023-03-23 09:46:54 574
原创 学习MvvmLight工具
最近学习了一下MvvmLight,觉得有些功能还是挺有特色的,所以记录一下首先新建也给WPF程序然后在Nuget里面安装MvvmLightLib 包,安装上面那个也可以,但是安装上面那个会自动在代码里面添加一些MvvmLight的demo ,安装MvvmLightLib比较纯净安装完成后,在App.cs 里面重写一下OnStartup方法,让程序启动的时候初始一下IOC容器和DispatcherHelper。(其实这两步也可以放在其他地方,比如放在构造函数里面或者其他地方也是可以的,没有特殊要求)
2023-03-09 14:19:07 851
转载 在winform中使用websocket
这种传统的模式带来很明显的缺点,即浏览器需要不断的向服务器发出请求,然后HTTP请求可能包含较长的头部,其中真正有效的数据可能只是很小的一部分,显然这样会浪费很多的宽带等资源。在设计模式中,socket其实就是一个门面模式,它把复杂的TCP/IP协议隐藏在socket接口后面,对用户来说,一组简单的接口就是全部,让socket去组织数据,以符合指定的协议。与HTTP不同的是,Websocket需要先创建连接,这就使得其成为一种有状态的协议,之后通信时可以省略部分状态信息。(开始前的HTTP握手)
2023-01-16 16:00:35 2747
原创 C# 控制科兴16路继电器
/// /// 操作继电器 /// /// 表示打开还是关闭 /// 操作第几路继电器(从1到16) private void OperationRelay(bool isOpenOrClose ,int Ch) { byte[] sBytes = new byte[] { 0xCC
2022-12-05 14:36:39 829 1
原创 Windows系统用网卡实现开机唤醒
先在设备管理器中将显卡设置成允许此设备唤醒计算机然后取消勾选“启用快速启动”。这两步一定要设置对,否则无法实现开机唤醒关机后如果网口的灯还在亮就说明设置成功了。然后用cmd中ipconfig -all来查看Mac地址和IP地址二、远程唤醒必备条件: 远程唤醒只能依赖于主机硬件实现。1.主板支持,能够在关机时为网卡供电,2002年以后的大部分主板都支持该功能。2.主板设置:各种类型电脑有所区别,但基本上都是在BIOS中设置Power Management Setup,...
2022-05-16 11:33:32 12218 3
原创 C# 将PPT的每一页保存为图片
首先需要引用两个类库 /// <summary> /// 使用office组件将PPT转图片 /// </summary> /// <param name="pptPath">ppt路径</param> public void PptToImg(string pptPath) { try { ...
2022-05-10 14:13:46 1132
原创 在WPF的程序中,嵌入其他进程的窗体
我最近遇到了这样一个问题,就是我的WPF程序中,需要用到32位的COM组件。所以我的WPF程序也是要32位的。但是32的程序的逻辑内存最多只有2G,因此,当这个COM组件比较吃内存的时候,程序就会出现内存不够的情况,就会出现异常。因此,我的解决方案是使用winform来调用这个COM组件。然后WPF程序再调用winform。这样,就把内存分配到了多个进程当中,就不会出现一个进程使用太多内存的情况。下面是WPF实现此功能的简单代码窗体XAML代码<Window x:Class="WPF_O
2022-01-16 16:55:16 4135 2
原创 C#最简单好用的日志方法
/// <summary> /// 用来做软件的日常信息保存 /// </summary> /// <param name="strLog"></param> public static void InfoLog(string strLog) { try { string basepat...
2021-12-29 16:29:40 1163
原创 C#获取网络时间
public static DateTime GetNetDateTime() { WebRequest request = null; WebResponse response = null; WebHeaderCollection headerCollection = null; string datetime = string.Empty; ...
2021-05-10 23:56:05 2199
转载 C# 读取CSV文件,将CSV文件读取到DataTable中
/// <summary> /// //读CSV文件类,读取指定的CSV文件,可以导出DataTable /// </summary> public class CsvStreamReader { private ArrayList rowAL; //行链表,CSV文件的每一行就是一个链 private string fileName; //文件名 //public DataTable csvD...
2021-04-27 15:05:57 1759
转载 使用OWIN 为WebAPI 宿主 跨平台
OWIN是什么?OWIN的英文全称是Open Web Interface for .NET。如果仅从名称上解析,可以得出这样的信息:OWIN是针对.NET平台的开放Web接口。那Web接口是谁和谁之间的接口呢?是Web应用程序与Web服务器之间的接口,OWIN就是.NET Web应用程序与Web服务器之间的接口。为什么需要这样一个接口呢?因为.NET Web应用程序是运行于Web服务器之中的,.NET Web应用程序需要通过Web服务器接收用户的请求,并且通过Web服务器将响应内容发送用户.
2021-04-07 14:17:04 568
转载 Winform程序窗体间的跳转
关于Winform程序窗体间的跳转问题:对于编程新手来讲,winform程序窗体间的跳转,经常会出现一些异常,或是弹出重复的窗口,如下图下面给出一种方法,可以很好的避免掉这样的问题:首先,在主程序Program中,定义一个“找窗体或是创建窗体”的方法,见以下代码: 1 namespace FormJump 2 { 3 static class Program 4 { 5 public static List<Form> form
2021-04-07 13:54:45 3950 2
转载 C# 几个不错的NPIO 的helper类
https://www.cnblogs.com/qizhelongdeyang/p/3417599.htmlhttps://www.cnblogs.com/su-king/p/9958043.html
2020-08-05 08:54:30 768
原创 C# 获取UTC时间戳,以及将时间戳转换成时间
public class UtcTime { /// <summary> /// 获取时间戳 /// </summary> /// <returns>UTC</returns> public static long GetTimeStamp()...
2020-04-26 15:37:34 5419
原创 C# 创建程序的快捷方式的代码
/// <summary> /// 生成某个exe程序的快捷方式 /// </summary> /// <param name="lnkFilePath">快捷方式的路径,例如:C:\Users\Public\Desktop\abc.lnk</param> /// &l...
2020-04-20 13:23:32 592
原创 vs 附加到进程找不到iisexpress的解决方法
今天想使用vs调试IIS的网站,但是附加到进程时,一直找不到iisexpress这个进程。显示所有用户进程、使用管理员运行VS都不行。折腾了半天,最终解决了这个问题我的应用程序池都是4.0版本的,所以附加到代码类型要选择4.0版,刷新以后就能找到iisexpress进程了附加了这个进程,就可以调试IIS中对应的网站了。亲测有效...
2019-11-20 11:54:01 4442
原创 C# 实现软件授权码的功能
对于一个商业软件来说,授权码这个功能必不可少。我这里采用CPU序列号加硬盘标识来判断是否授权。完整代码如下:using Microsoft.Win32;using System;using System.Collections.Generic;using System.ComponentModel;using System.Data;using System.Drawing;us...
2019-10-23 12:19:45 13891 6
原创 让用户可以拖动winform无边框窗体的位置
winform项目为了美观通常会把窗体的边框隐藏掉,然后再用一个panel当作标题栏,但这样用户就无法拖动窗体的位置了,这个问题可以用MouseMove和MouseDown事件解决。代码如下 private Point mPoint; private void topPanel_MouseMove(object sender, MouseEventArgs e)...
2019-06-20 10:39:09 602
原创 让无边框winform窗体可以拖动窗体大小
对美观程度要求比较高的项目都会把winform的边框隐藏掉然后重写一个边框。这样问题就来了,把winform的边框隐藏后,用户就无法改变窗体大小,也无法拖动窗体位置。经过摸索,最终解决了这些问题,以下代码可以解决用户无法改变窗体大小的问题。 public class BaseForm : Form { const int HTLEFT = 10; ...
2019-06-19 17:36:59 3057
原创 C# 前台线程与后台线程的区别
class Program { static void Main(string[] args) { var sampleForeground = new ThreadSample(10); var sampleBackground = new ThreadSample(20); ...
2019-04-21 10:16:27 2038
原创 第一章 初识EmguCV
第一章 初识EmguCV1.1 EmguCV的基本介绍1.1.1 计算机视觉、OpenCV和EmguCV计算机视觉是一门研究如何使机器“看”的科学,更进一步的说,就是是指用摄影机和电脑代替人眼对目标进行识别、跟踪和测量等机器视觉,并进一步做图形处理,使电脑处理成为更适合人眼观察或传送给仪器检测的图像。作为一个科学学科,计算机视觉研究相关的理论和技术,试图建立能够从图像或者多维数据中获取‘信息...
2019-04-15 22:57:26 1258
原创 jQuery常用方法与GET请求和POST请求的区别
1、显示、隐藏hide() show()2、淡入淡出fadeIn() fadeOut() fadeToggle() fadeTo()3、滑动slideDown() slideUp() slideToggle()4、动画animate()5、获取内容text() - 设置或返回所选元素的文本内容 html() - 设置或返回所选元素的内容(包括 HTML 标...
2019-04-01 14:49:25 757
原创 使用虚拟端口工具VSPD给上位机发送数据
做上位机开发肯定要用到虚拟串口调试,我在网上搜了一下,没有找到合适的教程,所以就自己写个。我这里虚拟串口工具用:Virtual Serial Port Driver。调试串口工具用:sscom51.下载并安装VSPD后,添加两个虚拟端口(COM2、COM3),波特率:115200:2.再打开两个sscom5软件其中一个打开COM2串口;另一个打开COM3串口。虚拟串口是...
2019-02-21 11:52:45 5510 5
原创 用小端模式的TcpHelper类
用TCP协议处理分包、粘包是比较麻烦的,所以写了Helper类,完整代码如下: public class TcpHelper { #region TCP模块 byte[] result = new byte[1024 * 1024]; //接收1M的数据 Socket clientSocket = new Socket...
2019-02-20 17:34:28 559
原创 解决登录mysql的1521错误
mysql 8.0的版本的加密方式和以前的不一样,因此使用Navicat等工具进行连接的时候,会报1521的异常。解决方法如下:登录mysql的命令行工具,输入如下代码:ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY 'root';这行代码有两层含义,第一:修改root的密码为'root'...
2019-01-28 17:16:00 6262 1
转载 转载一篇不错的介绍ORM框架的文章
前言在以前的一篇文章中,为大家分享了《什么是ORM?为什么用ORM?浅析ORM的使用及利弊》。那么,在目前的.NET(C#)的世界里,有哪些主流的ORM,SqlSugar,Dapper,Entity Framework(EF)还是ServiceStack.OrmLite?或者是你还有更好的ORM推荐呢? 如果有的话,不防也一起分享给大家。 https://segmentfault.co...
2019-01-22 11:16:58 295
原创 解决微信支付中申请退款的基础连接已经关闭的错误
微信支付中申请退款的接口不太一样。其他的接口用普通的post请求就可以,但是申请退款的接口必须加上证书。一开始我以为只要安装了证书就行,经过尝试后发现会报基础连接已经关闭的错误,最终经过查资料解决了这个问题,在post请求中添加证书就能解决这个问题public static string PostWebRequest(string postUrl, string paramData) ...
2018-12-11 14:25:03 2011 6
原创 使用EmguCV进行图像修复
图像修复是重建图像和视频受损部分的过程。这个过程也称为图像或视频的插值。在EmguCV中,不仅可以修复划痕,还可以去除文本或对象,修复图像可以用 Inpaint函数。参数和用法如下public static void Inpaint( IInputArray src, IInputArray mask, IOutputArray dst, double inpaintRadius...
2018-11-25 18:36:07 1255 2
原创 C#+EmguCV 使用摄像头读取、保存视频
在Emgucv中调用摄像头需要用到VideoCapture类这个类有四种重载的方式1、不写参数,那么初始化的时候就会调用默认的摄像头2、一个int类型的数字,这个数字的含义是摄像头的索引。会按照索引来初始化摄像头3、一个字符串,这个字符串的含义是文件名或视频流名。初始化会读取视频文件或视频流4、CaptureType 的枚举这个枚举的内容很多,这里不再赘述 新建...
2018-11-24 16:57:04 9310 11
原创 C#+EmguCV 在图像上进行基本绘图
EmguCV主要的绘图函数有一下几种:CvInvoke.Line() 用于绘制线段CvInvoke.Circle() 用于绘制圆形CvInvoke.Ellipse() 绘制椭圆CvInvoke.Rectangle() 绘制矩形CvInvoke.PutText() 在图像上显示文字来看看他们各个函数的参数和用法1、CvInvoke.Line()public stat...
2018-11-23 11:04:51 6225 6
原创 使用winfrom+EmguCV进行图片的读取和保存
要使用EmguCV,首先需要去官网下载安装包(除了下载安装包,还有其他几种方式)。安装完成后,得配置环境变量。这里不再赘述。网上的教程很多。我这里分享一个官网的下载链接:https://sourceforge.net/projects/emgucv/files/emgucv/这里使用窗体程序进行说明,首先新建个窗体1.引用EmguCV的DLL:using Emgu.CV;using Emg...
2018-11-21 17:15:09 2969
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人