摘要:
使用打印机扫描双面文档后,页码是交错且倒置的,因此想到使用C#获取PDF页面后重新排列,组成符合预期的PDF文件。基本思想就是分别获取2个PDF文档的页码,然后根据页码规则重新生成PDF文件。 经查询发现PdfPig库能够轻松实现PDF文件重新排列,该类库基于Apache-2.0 license,G 阅读全文
摘要:
由于xml文件的易读特性,使得它非常适合作为程序配置文件。和ini文件相比,xml文件可以实现列表等复杂参数配置,灵活性比较大。 使用C#读取xml文件,首先要加载xml文件获取XmlDocument对象,然后通过该对象获取XmlNode类型的根节点,之后再对根节点获取相应子节点的属性或值。写入xm 阅读全文
摘要:
使用C#读写ini文件要用到Windows的API函数:GetPrivateProfileString、WritePrivateProfileString,下面对该方法进行封装并以具体ini文件为例说明如何读写。 1、ini文件示例 ; FTP服务器参数 [FtpServer] IP=127.0.0 阅读全文
摘要:
最近在触屏Win10中需要调用osk.exe 显示虚拟键盘,其路径为:C:\Windows\System32\osk.exe。由于软件是32位的,在使用Process.Start方法时系统默认启用了文件系统重定向,将其指向路径:C:\Windows\SysWoW64\osk.exe,造成找不到文件。 阅读全文
摘要:
Aforge.Video是可以方便获取摄像头等视频输入设备图像的轻量级组件,但是该组件的最新版本2.2.5大约是在2013年发布的,仅支持.Net Framework,在基于.Net6的Winform中无法使用。 Aforge.Video组件存在开源项目AForge.NET中,该项目有1k Star 阅读全文
摘要:
internal class MessageOnlyWindow : NativeWindow { private const string WindowName = "MessageOnlyWindow"; public LowLevelView() { var createParams = ne 阅读全文
摘要:
1、用户控件的子控件不刷新 场景:创建一个用户控件用于显示Label信息,在主窗口上添加这个用户控件,然后在非UI线程中更新数据后使用SynchronizationContext.Post更新用户控件中的Label。 现象:用户控件中的Label不更新,在日志中打印该Label的值,其实是最新值。 阅读全文
摘要:
1、获取桌面路径 import os desktop_path = os.path.join(os.path.expanduser('~'), 'Desktop') print('desktop_path: ' + desktop_path) 2、读写文件 #写入文件 file = open(ful 阅读全文
摘要:
1、DoubleAnimation private void RunAnimation( UIElement element, DependencyProperty dp, double oldValue, double newValue, double durationMs ) { var dur 阅读全文
摘要:
参考资料:VlcVideoSourceProvider 优点:实现视频流的动态处理。 缺点:视频解码(CPU/GPU)后图像处理CPU占用率高,视频有可能会卡顿(卡顿已解决,详见改进)。 在Winform中通过LibVLCSharp组件获取视频流中的每一帧图像,需要设置回调函数,主要是SetVide 阅读全文
摘要:
将枚举型的数据类型绑定到单选按钮的IsChecked属性中,可以避免定义多个bool类型与之进行绑定,尤其是枚举类型较多时候,对bool对象的维护会更加复杂。 1、定义枚举类型及值转换器 internal enum Gender { [Description("男")] Male, [Descrip 阅读全文
摘要:
开发环境:VS2022 + Winform(.Net Framework 4.6.1),Winform项目A,依赖类库B。 第一步,通过Nuget安装Obfuscar。 第二步,创建obfuscar.xml文件,设置为“如果较新则复制”,其内容如下: <?xml version='1.0'?> <O 阅读全文
摘要:
ChatGPT作为基于AI的聊天工具,其用途涉及到很多方面,个人认为其最大的用途莫过于作为多种行业的知识库,并能够通过AI技术给出特定行业技术的参考实现,是一个功能强大的知识库、搜索引擎。鉴于此,我基于.Net技术栈制作了ChatGPT搜索助手,其架构如下所示: ChatGPT搜索助手包含3部分内容 阅读全文
摘要:
本文展示了如何使用MathNet.Numerics对离散点进行曲线拟合,计算其R^2值,并基于Winform使用SkiaSharp.Views.WindowsForms绘制曲线及离散点,上述组件可从NuGet获取。 1、曲线拟合 使用Fit.Polynomial方法获取拟合后的多项式系数数组,其参数 阅读全文
摘要:
FFmpeg通过控制台命令可以方便地录制USB摄像头和屏幕,本文使用C#中的Process类调用FFmpeg命令,并通过获取控制台输出参数实现录制视频的完整功能。 Gitee完整代码:FFmpegWrappedSharpRecorder。 1、获取设备列表 FFmpeg命令: ffmpeg.exe 阅读全文