Tim's Blog

Tim's Blog

代码星河

CSS日常使用

本文记录了开发者在日常开发和学习中使用的 CSS 属性,重点介绍了 `transition` 和 `opacity` 的使用技巧和问题。 * **`transition`**: 用于定义元素在不同状态间切换时的过渡效果,可以通过设置属性名、持续时间、缓动函数和延迟时间来实现平滑的动画效果。 * **`opacity`**: 用于设置元素的不透明度。文章指出,当父元素设置 `opacity` 时会影响其子元素。 推荐两种解决方案: * 使用 RGBA 设置背景色透明度。 * 使用伪元素(`::before` 或 `::after`)创建一个透明层,通过改变伪元素的背景透明度来实现 hover 效果,避免影响子元素的不透明度。
CSS
30
2025-03-15

JavaScript通用库

本文记录了开发中使用的通用库,主要介绍了用于处理日期和时间的 **Day.js** 库。Day.js 是一个轻量级的 JavaScript 库,用于解析、验证、操作和显示日期和时间,并提供了 npm 安装方法。
25
2025-03-08

MATLAB函数外部使用

本文探讨了在C#中使用MATLAB函数的几种方案,主要目的是为了在C#项目中调用MATLAB函数。 * **ArrayFire/Armadillo:** 通过C++库对MATLAB函数进行逐句翻译,编译成DLL,效率最高,但需要硬件支持。 * **Octave/Python:** 将MATLAB代码转换为Octave或Python,工作量较小,效率尚可。其中,Octave可以通过`mkoctfile`编译DLL,`Octave.NET`提供.NET拓展包,支持直接在C#中运行Octave代码,包括基础运算、绘图、包加载和调用外部`.m`文件。 * **MATLAB Compiler:** 将MATLAB函数编译为DLL或EXE,需要依赖MCR,调用前需启动引擎,影响效率。打包MATLAB函数需要使用MATLAB的Library Compiler,并引用生成的DLL和`MWArray.dll`。
50
2025-03-07
Win32API函数

Win32API函数

本文介绍了三个 Windows API 函数: * **SendMessage:** 将消息发送到一个或多个窗口。它接受窗口句柄、消息常量、wParam 和 lParam 作为参数。 * **ShowWindowAsync:** 设置指定窗口的显示状态,接受窗口句柄和显示状态命令作为参数。 * **SetForegroundWindow:** 将指定窗口带到前台并激活它,接受窗口句柄作为参数。 文章提供了这三个函数在 C++ 和 C# 中的语法示例。

WPF - 单例程序和系统托盘

本文介绍了在C#程序中实现单例运行、隐藏到系统托盘以及唤起隐藏程序的方法。主要包含以下几个部分: 1. **使用互斥锁 (Mutex) 实现单例运行:** 在程序启动时创建互斥锁,如果锁已存在,则关闭当前程序实例,并唤起已存在的程序。 2. **使用 NotifyIcon 实现系统托盘功能:** 在主窗体加载时创建系统托盘图标,添加右键菜单,并实现双击图标显示主窗体的功能。 3. **使用 Win32 API 唤起隐藏程序:** 通过 `FindWindow` 查找窗口句柄,使用 `SendMessage` 发送显示消息,并结合 `ShowWindowAsync` 和 `SetForegroundWindow` 确保窗口正常显示在前端。
45
2024-10-22
计算线段之间的夹角和对应的圆弧上的点

计算线段之间的夹角和对应的圆弧上的点

本文主要介绍了在C#中计算角度和圆弧上点坐标的方法。内容包括: * **角度计算:** 讲解了计算两点间距离公式、余弦定理、反余弦函数、角度转换等,并提供了C#代码实现。 * **圆弧上点坐标计算:** 阐述了通过向量叉积计算正弦值来判断角度,以及计算起始角度、正弦值计算和圆弧上点坐标的公式,并提供了C#代码实现。
160
2024-09-12
uni-app使用vue-cli安装

uni-app使用vue-cli安装

本文档总结了使用 `vue-cli` 构建和运行 uni-app 项目的步骤,包括: 1. **全局安装 `vue-cli`:** `npm install -g @vue/cli` 2. **创建 uni-app 项目:** `vue create -p dcloudio/uni-preset-vue my-project` 3. **运行和发布 uni-app:** 使用 `npm run dev:%PLATFORM%` 和 `npm run build:%PLATFORM%` 命令,其中 `%PLATFORM%` 代表不同的平台,如 `app-plus`, `h5`, `mp-weixin` 等。 4. **npm 更换源:** 提供更换 npm 源的命令,包括清除缓存、安装 cnpm 和设置 cnpm 源。
61
2024-09-08