admin 2026-09-10 12 0

在 C 中计算多边形质心有多种方法,从使用成熟的几何库到手动实现算法。以下是几种常用方案: 📐 方法一:使用 NetTopologySuite(推荐) NetTopologySuite NTS 是 .NET 中最强大的几何库,提供了完善的质心计算。 1. 安装 NuGet 包 bash dotne...

admin 2026-05-20 224 2

在现在这个 CAD 模式里,底图、轮廓、缺陷能对上,核心不是我自己去算三套坐标,而是: 三者都交给同一个 DisplayEx 控件,用同一套 ROI 和同一套坐标转换。 具体是这样: 1. CAD 底图 ImageUtil.DisplayEx 持有一个 vector Layer 它内部用 Layer...

admin 2026-05-03 230 0

● 模板选择:始终从 ReportPluginTemplate 复制,即使你打算写简单报表。它自带完整的 MVVM 骨架、日期查询、SfDataGrid、CSV/XLSX 导出、以及独立的 BindableBase/RelayCommand — 你不需要的功能删掉比从零搭建快得多。 新建插件的步骤清...

admin 2026-05-02 185 3

在一个不规则(尤其是凹多边形)的闭合多边形内,求能放下的最大圆的圆心,在计算几何和计算机图形学中,这个点通常被称为“多边形极值点(Polylabel)”或“视觉中心”。这个圆就是该多边形的最大内切圆。 需要特别注意的是,不能简单地使用多边形的“质心(Centroid)”或“几何中心”,因为对于凹多边...

admin 2026-05-02 176 0

标签定位算法演进总结 尝试过的方法 1. Shoelace 质心(最初方法) 计算多边形面积加权质心:1/6A Σxi+xjxiyjxjyi ┌─────────────┐ │ ● │ 圆形:顶点分布不均 → 质心偏移 │ ●●●●● │ ☓ 标签偏下(底边顶点密,拉低了质心) │ ●●●●●●● ...

admin 2026-05-01 155 0

整个插件系统的核心就一个接口,宿主通过反射发现和加载,非常简单。 1. 唯一的入口:实现 IReportPlugin public interface IReportPlugin { string Id { get; } // 全局唯一标识,重复会被跳过 string MenuName { get;...

admin 2026-04-22 255 1

FileSystemWatcher 的 Created 事件多次触发是一个常见问题,这通常不是代码错误,而是由 Windows 文件系统的底层机制和应用程序的保存方式导致的。例如,许多编辑器会先创建一个临时文件,然后再重命名或覆盖原文件,这个过程就会触发多次事件。 要解决这个问题,可以采用以下几种主...

admin 2026-04-09 181 0

在 ASP.NET Core 博客中实现代码高亮,通常不需要在后端(C)做复杂的处理,而是将这项工作交给前端(浏览器)来完成。 这是因为代码高亮本质上是对 HTML 标签添加 CSS 样式。结合你之前使用的 Markdig 解析方案,实现高亮非常简单。 目前业界最主流、效果最好的方案是使用 High...

admin 2026-04-09 169 0

在 ASP.NET Core 中让 Blog 内容支持 Markdown,核心思路是在后端进行解析渲染或在前端进行解析渲染。考虑到 SEO(搜索引擎优化)和首屏加载速度,通常推荐在后端(C)将 Markdown 转换为 HTML。 以下是基于 ASP.NET Core 实现 Markdown 支持的...

admin 2026-04-09 280 0

“临时文件 + 原子替换”的核心思想非常朴素:永远不要直接修改原文件。 它的逻辑是:先把新数据写入一个临时文件,等数据完全写入并关闭后,再利用操作系统的重命名功能,瞬间把临时文件“变”成原文件。 由于在同一个磁盘分区内,文件系统的“重命名/移动”操作是原子性的(要么瞬间完成,要么完全没发生,绝不会出...