SharpIcoWeb开发记录篇
SharpIcoWeb开发记录篇
前言
大佬用.NET 9.0开发了SharpIco轻量级图标生成工具,是一款控制台应用程序,支持AOT发布,非常方便。
✨ 功能特点
🖼️ 将PNG图像转换为多尺寸ICO图标
🔍 支持生成包含自定义尺寸的ICO图标(最高支持1024×1024)
🧐 检查ICO文件的内部结构和信息
📏 准确识别并显示超大尺寸图标(如512×512、1 ...
C#:从反编译的代码来看record类型
从C#9开始,可以使用record关键字来定义一个具有不可变属性的引用类型,编译器会为该类型生成大量的模板代码。C#10以后,record struct用来定义值类型,record class或record用来定义引用类型。
record(C# reference)这篇官方的文档中,介绍了record类型的诸多特性,文档中对record class和record struct分别做了详细的描述 ...
[原创]《C#高级GDI+实战:从零开发一个流程图》第05章:有锯齿?拖动闪烁?优化!优化!
一、前言
前面的课程我们实现了矩形、圆形的拖动,以及不同形状间的连线,在实现的过程中,很多读者都发现并提出来了存在显示质量差有锯齿、拖动不流畅还闪烁等问题,作为承上启下的一节课程,我们本节就来看一上如何解决这些问题。
相信看完的你,一定会有所收获!
本文地址:https://www.cnblogs.com/lesliexin/p/1893094 ...
dotnet 代码调试方法
在本文的开始是先向大家介绍一些常见的套路,即遇到什么问题应该调试。然后从常见套路常见问题过渡到一些比较棘手问题,例如遇到我不熟悉的代码如何调试,遇到库里面的代码出问题如何调试。在这个介绍的过程里面,还会穿插介绍一些调试经验
除了调试具体的应用问题之外,本文还包括性能调试。比如有小伙伴说卡,那么卡在哪 ...
PDF处理控件Spire.PDF系列教程:如何使用C# 拆分 PDF 文件(完整指南)
PDF文件因其高度的跨平台兼容性和安全稳定的格式特点,广泛应用于企业文档管理和电子资料传输中。随着PDF文档页数和内容复杂度的增加,拆分PDF成为优化文档处理流程、提升办公效率的重要需求。通过编程方式实现PDF拆分,不仅能自动化处理海量文档,还能根据需求精准提取指定页面、按页码范围分割,甚至基于关键字内容智能 ...
.NET中全新的MongoDb ORM框架 - SqlSugar
.NET中好用的MongoDb ORM很少,选择也很少,所以我打造了一款适合SQL习惯的MongoDb ORM,让用户多一个选择。
1、 MongoDB ORM教程
1.1 NUGET 安装
SqlSugar.MongoDbCore
SqlSugarCore
1.2 已支持功能
单表CRUD+分页+排序+简单分组+嵌套文件(类似Json类型)+简单联表
1.3 创建DB对象
//注册DLL防止找不到DLL(扔在程序 ...
芯片测试中的LDO 电压测试
芯片测试中 检查 LDO 电压(Low Dropout Regulator Voltage) 是一个非常关键的环节,用于验证芯片内部或外部 LDO 是否正常输出稳定的电压,为核心模块提供可靠电源。
1.什么是 LDO 电压测试
LDO(低压差线性稳压器) 通常存在于芯片内部,用于将外部较高电压(如 3.3V)降为内部工作电压(如 1.8V 或 1.2V)。LDO 电压测试 ...
DotTrace系列:9. 大结局之 跨平台 和 自定义行为 诊断
一:背景
1. 讲故事
本篇是系列的最后一篇,我们从跨平台部署和自定义诊断的角度跟大家聊一聊 dottrace,希望对大家有所启发。
二:跨平台和自定义诊断
1. 如何跨平台诊断分析
如果 dottrace 只能在 windows 平台上跑,那确实不值得写一个系列,目前它可以横跨三大平台(Windows,Linux,Mac),这里就用 ubuntu 来给大家演 ...
基于SharpIco开发图片转ICO工具网站
基于SharpIco开发图片转ICO工具网站
SharpIcoWeb
📝项目介绍
SharpIcoWeb是基于SharpIco开发的图片转ICO工具网站,支持上传png、jpg等图片转换为多尺寸的Ico图片文件。采用前后端分离技术。
后端接口使用 .NET Minimal API开发,够轻量。
📍预览地址
https://ico.pljzy.top/
🎯 应用场景
网站Favicon 🌐
软件图标 🖥️
...
C#.Net筑基-泛型T & 协变逆变
01、什么是泛型?
泛型(Generics)是C#中的一种强大的强类型扩展机制,在申明时用“占位符”类型参数“T”定义一个“模板类型”,比较类似于C++中的模板。泛型在使用时指定具体的T类型,从而方便的封装、复用代码,提高类型的安全性,减少类型转换和装箱。
泛型就是为代码能 跨类型复用 而设计的,轻松复用代码逻辑,如 ...
DotTrace系列:8. 时间诊断之 异步代码 和 Task任务
一:背景
1. 讲故事
现如今的很多代码都是awaitasync+Task的方式,对它们进行性能洞察非常有必要,awaitasync 本质上就是将状态机塞入到 Task 的 m_continuationObject 延续字段上,和 ContinueWith 没有本质区别,这一篇我们就来聊一聊。
二:异步和Task
1. 诊断异步代码时间
这里我就用异步读取 1G文件内容 来举例,参考 ...
【EF Core】DbContext是如何识别出实体集合的
在开始之前说明一下,你不要指望阅读完本文后会得到光,就算得到光你也未必能变成迪迦。本文老周仅介绍原理,可以给部分大伙伴们解惑。
咱们都知道,在派生 DbContext 类时,集体类的集合用 DbSet<TEntity> 表示,而咱们最常用的方法是在 DbContext 的派生类中公开 DbSet<TEntity> 属性。但在实例化 DbContext 后,我们并未 ...
DotTrace系列:7. 诊断 托管和非托管 内存暴涨
一:背景
1. 讲故事
分析托管和非托管内存暴涨,很多人潜意识里都会想到抓dump上windbg分析,但我说可以用dottrace同样分析出来,是不是听起来有点让人惊讶,哈哈,其实很正常,它是另辟蹊径采用底层的ETW机制,即开启 windows 底层日志,所以 dottrace 可以做,官方血统的 perfview 就更可以了,话不多说,这篇就来开干吧 ...
GlobalService类
public class GlobalService
{
private static IServiceScope? _currentScope;
private static readonly Lazy<string> _serverAddress = new Lazy<string>(GetServerAddress, true);
private static readonly Lazy<string> _serverPort = new Lazy<string>(GetServerPort, true);
private static DateTime? ...
DotTrace系列:6. 程序异常诊断 和 Request慢处理
一:背景
1. 讲故事
在我分析的众多dump中,有一些CPU爆高是因为高频的抛 Exception 导致,比如下面这张图,有 19 个线程都在抛 xxxResultException 异常。
从卦中虽知大量异常的痕迹,但从严谨的角度来说,最好再卜一卦,就是用 perfview 或者 dottrace 在 cpu 爆高的时段记录下异常的数量,这样就稳了,这篇我们就来解决 ...
芯片测试中由MCU下载程序,测试芯片内接口、FLASH等情况
芯片测试中“由 MCU 下载程序,测试芯片内部接口、FLASH 等情况并反馈结果”通常是在生产测试(ATE)或板级测试(ATE-BIT/BIST)阶段使用的一种自测试(BIST)机制,主要用于验证芯片功能是否合格,特别适用于 射频芯片、SoC、MCU 芯片 等具有 Flash 或外设的器件。
1.整体流程概览
上电 & 初始化
↓
MCU 下载测试程序
↓
...
DotTrace系列:4. 诊断窗体程序变卡之原因分析
一:背景
1. 讲故事
写这一篇是因为昨天看 dottrace 官方文档时,在评论区看到了一条不友好的评论,截图如下:
虽然语气上带有些许愤怒,但说实话人家也不是无中生有,作为 dottrace 的忠实粉丝我还是能够理解他的心情的,所以这篇我用最新的 2025.01 版 dottrace 来演示一下,时过境迁有些功能和性能基准虽然已经不一样了 ...
[原创]《C#高级GDI+实战:从零开发一个流程图》第04章:来个圆形,连线它!
一、前言
上一节我们实现了在矩形与矩形之间添加连线,光是矩形太单调了,某些问题也暴露不出来,我们本节就来看一下,如何添加一个圆形,且支持圆形与圆形、圆形与矩形、矩形与矩形间的连线。在这个过程中我们会发现一些问题,这些问题我们后续课程会进行处理,大家也请带着自己的思考和理解去看。
相信看完的你,一定会有 ...
C#.Net筑基-优雅LINQ的查询艺术
Linq(Language Integrated Query,集成查询语言),顾名思义就是用来查询数据的一种语言(可以看作是一组功能、框架特性的集合)。在.NETFramework3.5(大概2007年)引入C#,用统一的C#语言快速查询各种数据,如数据库、XML文档、对象集合等等。Linq的诞生对 C# 编程领域产生了深远而持久的影响,改变了开发人员对查询的 ...
WPF中如何实现在一个弹窗中一个输入内容的表单,并在父窗口显示
在wpf开发中,你有没有需要用到这样的场景,比如:在父窗口显示表单的输入的内容,然后再进行一些处理逻辑等,表单可以很复杂,也可以很简单,下面我就以示例代码来做一个demo展示。
1.父窗口界面展示如下:
<Window x:Class="WPFDemoMVVM.View.UserInputView"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/pres ...