- 博客(84)
- 收藏
- 关注
原创 Winform C# 热力图制作要点
研究了一下常用的套路:先创建一张灰度图像,一条渐变色带,然后根据灰度图像每个点的黑度(像素值)去渐变色带里面找对应的颜色,然后按像素给灰度图像上色。常用的一个类:ColorMap。
2025-07-31 16:28:05
524
原创 Winform PathGradientBrush类使用
定义一个新属性:public List<System.Drawing.Point> PointsList = new List<Point>();在winform中生成九圆阵列,每一个圆就是一个由PathGradientBrush填充的图案。需要一个panel控件承载Bitmap,实际上是在Bitmap上画图案。用渐变的效果填充图形,渐变的方向是从由路径定义的图形边界指向图形的中心。用来填充图形(如形状或文本)内部区域的对象。用于创建路径(或形状)渐变填充的画刷;命名空间的一部分,通常用于。
2025-07-31 15:03:22
132
原创 Winform 渐变色 调色板
就是通过image创建了个画布,就是允许你改变image。你就想象成Graphics就像图片外面一层透明的膜,在膜上画图就相当于在image上画图了。原本想研究一下C#生成热力图,奈何知识点较多(相对于本人来讲),一下子看的有点懵,本着循序渐进的思想,在此记录一个相关功能。问:Graphics.FromImage(img);这样定义后画布与图片的关系到底是怎样的?colorPanel是我的控件名,colorBitmap是位图对象的引用;
2025-07-30 20:41:28
171
原创 WPF 使用离散型关键帧动画实现一闪一闪的动画效果
DiscreteDoubleKeyFrame KeyTime="0:0:0.5" Value="0.5" /> //动画时间到0.5s时 Opacity=0.5。<DiscreteDoubleKeyFrame KeyTime="0:0:0" Value="0" /> //动画开始时 Opacity=0。即:开始时 Opacity=0,过了0.5s后Opacity变为0.5,然后持续到1s,然后重新执行动画;不结束的话会一直执行。Duration="0:0:1" //一个循环持续时间。
2025-07-25 13:55:24
479
原创 WPF 控制动画开关
可我这里使用了转换器,可以理解为就是把执行动画的开关绑定到了我后端ViewModel的属性上。比如myBorder 和 ShadowEffect;其中实现了依赖属性IsAnimating。
2025-07-24 13:26:24
392
原创 未能找到类型或命名空间名“XXX”(是否缺少 using 指令或程序集引用?)
首先确定这个类是不是存在的,如果存在就是项目缺少相关程序集(dll),这个类在缺少的那个dll里面定义。未能找到类型或命名空间名“Bitmap”(是否缺少 using 指令或程序集引用?网 ’ 是 ‘.NET’ 被网页自动翻译了.....引用后回到代码,就会有提示添加using引用了。进到.NET界面后拉到最下面。
2025-07-23 15:04:42
170
原创 halcon 模板匹配+二维测量 查找圆
其中scale_image_range和dev_display_shape_matching_results是外部函数。创建xld圆形模板→利用模板寻找四个圆形的大概位置→在找到的位置进行2D测量→根据2D测量出的圆位置信息生成中心坐标。可以先使用模板匹配粗定位,然后进行二位测量。对比度过低,使用阈值分割不出小球影像。
2025-07-20 13:17:21
326
原创 GIT : early EOF invalid index-pack output
git远程仓库600M左右,克隆时候报错;当传输不完整时会出现"early EOF"(意外结束)和"invalid index-pack"(索引无效)错误。原来连的是我的热点,直接换根网线就好了,看来确实是网络的问题,远程仓库很大的情况下,网络不稳定容易出现丢包,EOF函数是计算机编程中用于检测文件结尾的核心函数,其名称源于"End Of File"的缩写。是Git用来处理接收到的包文件的。
2025-07-16 10:36:15
178
转载 WPF Matrix ScaleAtPrepend和ScaleAt
PnSP前=(Pn−P前)⋅s+P前=Pn⋅s+P前(1−s)PnSP前=(Pn−P前)⋅s+P前=Pn⋅s+P前(1−s)PnMSP后=(Pns+P前(1−s))M=PnSP前MPnMSP后=(Pns+P前(1−s))M=PnSP前M。PnMSP后=(PnM)⋅s+P后(1−s)PnMSP后=(PnM)⋅s+P后(1−s)PnSP前M=(Pns+P前(1−s))MPnSP前M=(Pns+P前(1−s))M。
2025-07-09 16:50:56
19
原创 Visual Stadio CodeMaid插件使用
专业的说法:重新组织 C# 文件中成员的布局,以遵循 Microsoft 的 StyleCop 约定或您自己的首选项。然后右键或者拖拽进行操作,右键可以查看引用,删除。拖拽可以排列在类里面的顺序。删除所用的#region 和#endregion注释,个人感觉一样鸡肋。因为版本不一样,CodeMaid弹窗界面可能不同,但是功能都差不多。就是查找,不用手动输入文件名查找了,会自动查找在哪个目录并展开。按照某种顺序整理当前文件代码,字段属性方法顺序什么的。就是按照字母顺序排序,这里不适用,都搞乱了。
2025-06-19 14:21:09
203
原创 WPF 的RenderTransform使图标旋转180°
其中的RenderTransform就是 WPF中在渲染阶段应用的简单变换。还有其他很多复杂的变换,可以自行搜索了解。
2025-06-19 09:28:35
146
原创 C# 关于闭包与多线程结合使用
以上代码的可能输出为:Thread0:2Thread4:5Thread2:3Thread1:3Thread5:5Thread6:6Thread7:7Thread8:9Thread3:3Thread9:10这段代码的输出从两个方面印证了线程不是立即启动的。首先,我们看到线程并没有按照顺序启动。在代码逻辑中,前面Start的那个线程也许迟于后Start的那个线程执行。其次,传入线程内部的ID值,不再是for循环执行中当前的ID值。
2025-05-30 09:37:03
426
原创 ObservableCollection序列化,和监听链表内元素变化
ObservableCollection序列化小记,和监听链表内元素变化实现
2025-05-22 20:07:45
537
原创 C# SourceList<T> 学习
https://www.reactiveui.net/docs/handbook/collections.html?q=SourceList
2025-04-29 15:20:26
126
原创 WPF Datagrid单元格显示多行
凭感觉比较适用的是 ItemsControl 、ListBox、ListView;其中 ListView经常用来显示多列的表格,这里只用一列显示就可以,所以放弃;可以显示多行,但是由于样式的问题,每个单元格就是一个ListBox控件,有中被撑大的感觉;好看一些了,再改变一下边框什么的就好了,这里不赘述;总结:要对常见的列表控件有一定的了解,才能尝试。看起来比ListBox更合适;搜了一下资源比较少,记录一下。
2024-10-21 20:51:47
798
转载 git push报错:Updates were rejected because the tip of your current branch is behind
的方式在本地建立起远程 github 仓库的本地克隆仓库就不会有这问题了。查阅了一下资料,发现可以在 pull 命令后紧接着使用。出现这个问题的最主要原因还是在于本地仓库和远程仓库实际上是独立的两个仓库。选项来解决问题(该选项可以合并两个独立启动仓库的历史)。(更新被拒绝,因为当前分支的落后与远程分支)中文意思就是拒绝合并不相关的历史。在push代码时,遇到这种问题。这样就可以提交成功了。
2024-10-19 13:09:47
2714
1
转载 WPF之图片圆角
自我感觉还是第一中比较简单,中间我有遇到图片不自适应大小的问题,然后我加上这个属性就好了,Stretch="Fill",这个属性的意思是。自我感觉还是第一中比较简单,中间我有遇到图片不自适应大小的问题,然后我加上这个属性就好了,Stretch="Fill",这个属性的意思是。这种是根据x和y来设置圆角,自我感觉这种比较适合只设置上边的圆角比较适合。这种图片是跟着border设置的圆角而改变的,自适应图片的大小。这种图片是跟着border设置的圆角而改变的,自适应图片的大小。--border2样式-->
2024-10-19 03:06:42
378
空空如也
QT+VS 编程遇到无法打开源文件x86intrin.h
2023-07-20
TA创建的收藏夹 TA关注的收藏夹
TA关注的人