- 博客(133)
- 资源 (33)
- 收藏
- 关注
原创 A27:图像九宫格分割程序
本文介绍了一个图像九宫格分割工具的实现方法。该工具使用aardio编程语言,通过GDI+库的drawImageRectRect函数实现图像精确分割。程序允许用户选择图像后自动将其分割为3x3的九宫格,每格保存为单独文件。关键点包括:1)使用drawImageRectRect函数控制源矩形和目标矩形区域;2)内存管理注意事项;3)自动创建输出目录并保存分割结果。该工具界面简洁,包含图像预览功能,适用于批量处理图片分割需求。
2026-02-15 11:00:11
235
原创 A26:扫雷游戏
这篇文章介绍了一个使用aardio语言实现的经典扫雷游戏。程序采用win.ui窗口框架,通过plus控件实现双缓冲绘图,使用FontAwesome字体美化界面。游戏核心包括9×9网格地图和10个随机布置的地雷,实现了左键翻开格子、右键插旗标记的基本交互。关键技术包含随机布雷算法、数字计算算法、递归翻开空白格(DFS)以及胜利判定逻辑。程序采用MVC设计模式,将地图数据与界面状态分离,通过事件驱动实现响应式更新。虽然实现了扫雷的基本功能,但仍存在一些可优化的地方,如首次点击保护、胜利弹窗重复等问题。整体代码结
2026-02-14 08:41:16
626
原创 A25:捕获鼠标与按键事件
本文介绍了在aardio编程中处理鼠标事件的方法。主要内容包括:1)普通控件需要通过win.ui.tracker监听鼠标事件;2)plus控件默认支持鼠标事件,包括移入、移出、拖拽、单击、双击、右键按下和滚轮等事件;3)提供了示例代码展示如何为两种控件类型实现鼠标事件处理;4)演示了不同鼠标事件触发时控件的文本变化效果。文章通过代码示例和界面截图直观展示了鼠标事件的处理机制。
2026-02-13 14:44:34
359
原创 A24:圈住小猫游戏
本文介绍了一个使用Aardio实现的"圈住小猫"游戏。游戏采用9x9六边形网格,通过二维数组存储状态(0=空,1=障碍,2=小猫)。核心算法包括:1) 动态计算六边形布局,确保网格居中;2) 使用BFS算法寻找小猫最短逃跑路径;3) 基于六边形几何特性处理坐标转换和邻居关系。游戏逻辑包含初始化、小猫移动、边界判断和胜负判定等功能模块,通过鼠标交互实现障碍放置。该实现展示了BFS算法在路径搜索中的实际应用,以及六边形网格的特殊处理方式。
2026-02-12 10:40:13
627
原创 A23:五子棋游戏
本文介绍了使用Aardio开发的五子棋游戏实现方案。游戏采用15×15棋盘,通过二维数组存储状态,实现了落子、胜负判定、悔棋等核心功能。技术亮点包括:1)使用GDI+绘制立体棋子效果和棋盘背景;2)方向向量法实现五子连珠检测;3)自适应布局确保不同窗口尺寸下的显示效果;4)添加音效增强交互体验。系统包含游戏逻辑处理、图形渲染和事件响应三大模块,支持重新开始、悔棋等操作,并预留了AI对战和网络功能的扩展接口。该实现展现了Aardio在桌面游戏开发中的实用性和表现力。
2026-02-11 09:59:02
643
原创 A22:动画天气卡片
摘要 本文介绍了粒子系统的基本原理及其在计算机图形学中的应用。粒子系统是一种模拟不规则自然现象(如雨雪、烟雾、火焰等)的过程动画技术,由William T. Reeves于1983年首次提出。系统通过管理大量具有生命周期的小粒子来表现动态效果,每个粒子都具有位置、速度、大小等属性。文章详细阐述了粒子系统的假设条件、每一帧的处理步骤(生成、属性赋值、删除、移动变换和绘制)以及不同天气效果(雨、雪、晴、风)的具体实现方法,包括初始化参数和动画控制。最后还提供了闪电特效和树木摇摆等环境元素的模拟代码片段。
2026-02-10 10:45:40
364
原创 A21:三维立方体旋转
本文介绍了在plus控件内使用GDI+实现3D绘图的方法。主要内容包括: 绘图步骤:依次绘制背景、内容(遵循远者先画原则)和前景结束; 三维立方体实现:详细说明顶点旋转公式(X/Y/Z轴)和旋转顺序问题(强调不可交换性),以及透视投影计算方法; 示例程序:演示了立方体的3D渲染,包含顶点定义、旋转矩阵计算、深度排序和鼠标交互旋转功能,同时展示了GDI+的2D绘图能力(如绘制曲线和扇形)。文中特别指出GDI+在复杂3D场景中的性能局限性。
2026-02-09 15:35:13
650
原创 A20:圆形时钟
本文介绍了使用GDI+图形库绘制桌面圆形时钟的实现方法。主要内容包括:1) 使用gdipgraphicsObject绘制线条、填充椭圆和输出文本的基本函数;2) 创建画笔、笔刷和字体的方法;3) 完整的时钟绘制程序,包含绘制时钟刻度、数字、时针、分针和秒针的实现细节。程序通过获取系统时间,计算指针角度,使用GDI+绘制函数实现了一个美观的圆形时钟界面,支持DPI缩放并优化了绘制效果。
2026-02-08 08:21:33
332
原创 A18:chart简单图表
本文介绍了使用GDI+在plus控件中绘制简单图表的方法,包括柱状图、饼图和折线图。主要内容为: 提供了三种图表类型的API说明:柱状图(gdip.chart.bar)、饼图(gdip.chart.pie)和折线图(gdip.chart.line),详细列出了各图表的数据集配置参数。 展示了实际应用示例代码,演示了如何创建图表对象、配置数据集以及刷新显示。柱状图示例设置了季度销售数据,饼图示例展示了水果占比数据。 强调修改数据集后需要手动调用控件的redraw()或redrawTransparent()方法
2026-02-06 20:43:27
694
原创 A17:画一个红桃5
本文介绍了aardio中使用onDrawContent实现自定义绘制的方法。通过一个绘制红桃5扑克牌的示例程序,详细讲解了onDrawContent回调函数的参数使用和绘制顺序,包括graphics对象、矩形区域参数等关键元素。示例中展示了如何利用旋转绘制技巧实现扑克牌正反两面的对称效果,最终呈现出一个完整的红桃5扑克牌界面。文章重点突出了GDI+绘图技术在aardio中的实际应用。
2026-02-05 11:08:11
239
原创 A16:倒立的红桃
本文介绍了如何使用plus控件实现字体图标设置、旋转和缩放功能。主要内容包括:1) 通过字体图标工具设置红心图标;2) 讲解plus控件的旋转属性(angle、rotateCenter)和图形旋转方法;3) 使用skin的scale属性实现控件缩放;4) 提供完整示例程序,实现数字"5"和红心图标的旋转与缩放效果,包含180度翻转和1.5倍放大功能。程序通过按钮控制旋转状态切换和缩放比例调整,展示了plus控件的图形变换能力。
2026-02-04 09:01:02
311
原创 A15:扑克牌的四种花色
本文演示了使用plus控件绘制四种扑克牌花色(黑桃、红心、方块、梅花)的方法。通过Unicode字符代码显示花色符号,并为每个控件设置不同颜色。程序实现了一个按钮控制花色符号的放大缩小功能,通过scale属性调整缩放比例(1.5倍或还原)。同时为所有控件添加了鼠标悬停和点击时的颜色变化效果。运行结果展示了四种花色符号及其交互效果,包括缩放和颜色变化功能。
2026-02-03 15:33:30
120
原创 A14:自定义动画演示
本文介绍了动画相关属性、方法和事件的使用规范。主要内容包括:1) 动画通用属性配置如持续时间、缓动函数等;2) 控件动画类型(透明度、位移、缩放、旋转)的具体参数设置;3) 基础动画控制方法(播放、暂停、停止等)和常用控件动画效果(淡入淡出、滑动、缩放等);4) 动画生命周期事件和控件动画事件的处理方式;5) 提供了自绘动画的示例代码,演示了如何通过onDrawContent和onAnimation实现自定义动画效果,如旋转的太极图。文章还展示了运行效果截图,完整呈现了动画实现的各个方面。
2026-02-02 10:46:52
286
原创 A13:plus 控件实现旋转动画
本文介绍了aardio中winform.plus.onDrawContent事件的使用方法,该事件用于自定义绘制窗体内容。文章详细说明了两种参数形式(简单参数和多参数),并列举了常见问题及解决方案,如绘制闪烁、性能优化等。随后提供了一个实际应用示例,展示了如何通过该事件实现图片旋转动画效果,包括鼠标悬停时触发动画、离开时停止动画的功能实现。示例代码清晰展示了onDrawContent与动画控制的配合使用,最终运行界面展示了图片旋转的视觉效果。
2026-02-01 10:33:29
162
原创 A12:plus 控件实现倒计时动画按钮
本文介绍了plus.skin控件的属性和方法,包括基本皮肤属性(颜色、透明度、圆角等)、边框和标题栏设置,以及加载皮肤、设置背景等方法。同时提供了皮肤相关事件处理(加载完成、绘制、鼠标交互等)和background属性的配置说明。最后展示了一个使用plus控件创建倒计时动画按钮的实例代码,该按钮点击后会开始6秒倒计时并更新显示状态,倒计时结束后恢复初始状态。运行界面截图展示了实际效果。
2026-01-31 09:41:31
271
原创 A10:扩展库-桌面万年历
import 语句将一个外部命名空间导入到当前命名空间。import 语句首先会在当前命名空间下查找同名对象是否存在,查找时不会触发命名空间的元方法,如果同名对象已经存在并且不是指向相同的库 - 则会报错。import保证不会在同一线程重复加载相同的库。外部库内的代码在一个线程中仅运行一次。import a.b.c //将外部库a.b.c导入当前命名空间。
2026-01-29 15:29:33
554
原创 A9:用 plus 控件实现进度条
在窗体上拖放一个 plus 控件。然后切换窗体设计器到 “代码模式”,添加一句代码 winform.plus.setProgressRange(1,100) 指定进度条的最小值、最大值就可以自动切换到进度条模式了。进度条可以是横向的(宽度大于高度),也可以是竖向的(高度大于宽度),plus 控件会根据设计时的宽高比自动判断进度条的方向,不需要设置其他参数。如果未配置进度条的颜色或图像,plus 控件会在预设的配色方案中随机选择并配置背景色与前景色。进度条默认以背景色、前景色区分进度。
2026-01-28 17:10:08
275
原创 A8:plus控件编写键盘模拟器
本文介绍了使用plus控件开发键盘模拟器的关键技术,主要包括:1)通过键盘钩子实现系统级按键监控,识别WM_KEYDOWN等消息类型;2)虚拟键码与扫描码的映射处理,包括字母、功能键和控制键的识别;3)修饰键状态检测和组合键处理;4)键盘事件标志位解析,包括扩展键识别;5)虚拟键码到键名的转换技术。文章还提供了完整的键盘布局数据定义和动态创建模拟键盘界面的实现方法,为开发键盘模拟工具提供了技术参考。
2026-01-27 16:58:20
461
原创 A7:plus控件演示
plus控件是一个多功能UI组件,主要由背景、前景、文本、图标文本和边框五部分组成。支持设置图像、颜色、文本样式和边距等属性。背景和前景可同时设置图像并自动合成,支持多种图像格式包括动画。边距可通过padding系列属性、textPadding和iconStyle的padding字段分别控制。控件支持多种交互效果,如按钮、复选框、单选框、超链接等,并能通过skin()函数自定义样式。示例代码展示了如何实现这些功能,包括响应事件、禁用按钮动画、进度条模式切换等。使用时需注意图像资源需内嵌到工程中。
2026-01-26 10:20:38
552
原创 A6:编写计算器界面程序
本文介绍了一个使用aardio编写的计算器程序。程序实现了一个完整的GUI界面,包含数字键0-9、运算符(+、-、×、÷、%)、小数点、等号、清除(C)和退格(⌫)功能。主要功能包括:1) 数字输入时自动累加显示;2) 使用lastNum存储第一个操作数,op存储运算符;3) 点击等号时计算结果;4) 退格功能实现。代码实现了完整的计算逻辑,包括错误处理(如除零错误)和状态管理(isNewNum标志)。
2026-01-25 17:02:52
78
原创 A4:沙漏动画查询圆周率
本文介绍了aardio中plus控件的使用,重点展示了如何通过plus控件创建图形界面并实现圆周率查询功能。主要内容包括:plus控件支持多种图像和字体效果;演示了按钮禁用时显示沙漏动画的实现方法;提供了一个完整的圆周率查询示例程序,通过调用Web API获取并显示π的100位小数。
2026-01-23 09:16:02
606
原创 A3:表、JSON、查表
本文介绍了表的定义和使用方法,包括表的基本语法结构、JSON转换、查表操作和模式表达式匹配。主要内容有:1)表通过键值对存储数据,键具有唯一性和快速检索特性;2)展示了如何将表转换为JSON格式;3)演示了使用string.words扩展库查询单词及其释义;4)讲解了模式表达式的使用,包括边界断言和字符匹配;5)提供了一个完整示例程序,实现JSON转换、特定前缀单词查询和模式匹配查询功能。
2026-01-22 08:44:32
310
原创 A2:字符串与数组
本文介绍了使用aardio处理字符串和数组的操作方法。主要内容包括:1)计算单词长度并找出最短单词;2)找出多个单词共用的字母;3)统计单词使用的不同字母数量并找出最少者。文章详细讲解了相关知识点,如表(table)操作、owner参数和#操作符的使用。通过示例代码演示了如何将字符串拆分为数组、去重、排序等操作流程,最终输出各项处理结果。
2026-01-21 09:04:43
344
原创 C#安装OpenCvSharp4的实操
一、运行环境Windows下,VS2019企业版16.7二、安装步骤1、打开VS2019,创建工程选择Windows窗体应用(.NET Framework),如下图所示2、使用NuGet安装OpenCvSharp菜单栏->工具->NuGet包管理器->管理解决方案的NuGet程序包分别安装OpenCvSharp4、OpenCvSharp4.Extensions和OpenCvSharp4.runtime.win三个包;当然也可以安装一个包,选择OpenCvSharp4
2022-05-04 20:35:42
3973
原创 简书文章标题、链接的爬取
@绳系想爬取公众号上的文章标题,可惜我不会。 紧急恶补了一下爬取,试着写了一个小程序,可以爬取绳系的简书文章的标题和链接。记录一下过程。1、分析页面结构 可以发现需要爬取的文章在<li>这个标签下,<a>标签为标题和链接,<p>为文章摘要,下面还有作者名字、点赞数等等,这里主要需要获取标题、摘要以及文章链接即可。2、处理获取到的文本 爬虫爬下来的是整个页面的xml文本,需要找到我们所需要的东西还得经过处理才行,这里选择用xpath来处理,
2022-04-18 21:26:13
973
原创 Python天空颜色渐变
一、line方法ImageDraw.line(xy, fill=None, width=0, joint=None)xy:一组点的队列。形如[x1,y1,x2,y2] 或 [(x1,y1),(x2,y2),…]fill:线的颜色width:线宽joint:一系列线之间的连接类型。它可以是"curve", 用于圆边,或None二、天空颜色渐变 绘制出天空颜色渐变的效果。1、创建一个背景为远山颜色的画布2、从顶部开始画上半部分3、颜色插值,从天空颜色逐渐变为远山颜色。4、循环使
2022-02-11 16:21:28
2946
原创 Python颜色光谱单色效果图
参考资料:1、知乎《# 色彩空间中的 HSL、**HSV**、**HSB** 有什么区别?》 https://www.zhihu.com/question/22077462/answer/3425701402、童晶《Python趣味创意编程》第10章3、纯净天空的博客https://vimsky.com/examples/usage/python-pil-image-new-method.html一、HSV(HSB)颜色模型 HSV,又称HSB颜色模型。H是hue的首字母,表示色调,
2022-02-08 11:10:33
1255
原创 C#自定义控件学习1:基类控件-HZHControls
大神冰封一夏的开源套件HZHControls很漂亮,值得学习。跟着大神的足迹走一遍,肯定能学到不少。一、基类 自定义的分为控件和窗体2种类型,分别都有一个基类。 基类实现公共的大部分工作。二、基类控件1、主要实现功能:圆角边框填充颜色2、属性 包含圆角角度,边框颜色,边框宽度,填充颜色,背景色等3、事件 需要重写OnPaint,来画边框以及填充颜色。三、基类控件的设计 步骤如下:1.点击文件->新建项目->选择Windows控件库,命名Ky_Controls
2021-07-19 17:44:27
2697
1
原创 C#自定义控件的设计与调用
在C#下建立自己的控件库,需用到自定义控件的设计与调用。一、自定义控件的设计 自定义控件,步骤如下:1.点击文件->新建项目->选择Windows控件库2.编辑控件3.点击生成->生成 项目名称 ,完成这一步后会在bin或debug目录下看到"项目名称.dll"文件,这个便是你的控件库了。 具体实操:1、新建项目 点击文件->新建项目->选择Windows控件库。项目名称Ky_ColorHatch2、界面布局 组件面板panel1至panel11,按钮 More。
2021-07-13 15:08:57
8771
1
原创 激光打标机不能刻字的处理
HAN’S LASER MARKING1、打标软件和计算机的关系 可以毫不夸张地说:“如果没有计算机,就不可能有激光打标机”。 计算机负责编辑制作打标文件(包括当用户配备了图像扫描仪等图像采集设备后进行图像的采集)、控制振镜的运动以便通过激光将打标文件的内容扫描在工件的表面、控制声光 Q 开关的调制频率、控制打标的速度等等。 激光打标机的计算机控制系统包括:计算机、计算机打标专用接口板打标软件。2、打标软件和打标整机的关系 计算机打标专用接口板的作用是:将计算机发出的数字信号转
2021-03-13 09:05:08
3201
原创 Newtonsoft.Json.dll 的使用
在日常编程中经常会使用到Json来进行数据的交互,好在.Net平台下有很多开源的Json库,使得我们能够比较轻松快速的处理各种复杂的Json。一、类库说明 Newtonsoft.Json,是.Net中开源的Json序列化和反序列化工具,官方地址:http://www.newtonsoft.com/json。 功能比较多,效率比较高。比较常用的功能除了序列化发序列化之外,还有 Linq To Json、Json Path、 XML support等二、安装配置2.1 通过NuGet程序包直接
2021-01-13 08:50:15
3508
原创 IIS部署及网站发布实操
一、IIS部署1. 打开控制面板,在程序和功能下,选择打开或关闭Windows功能。等待加载,选择Internet信息服务,勾选如下选项二、网站添加1、 控制面板–》管理工具 --》Internet 信息服务(IIS)管理器,点击进入。2.添加网站,选择配置把上一篇生成的发布目录拷贝到F:\WebService_MyTest输入网站的名称、IP地址(本机可以不输入IP地址)和端口,选择文件的路径,然后点击确定,网站就创建完成了3.目录启用添加好后,在网站栏下就能看到你刚刚
2021-01-12 08:58:45
3370
原创 C#编写的简单Webservice例子实操
环境:visual studio 2013, Windows7。根据博客的方法一步一步的试验,得到如下结果。一、创建webservice C#工程1、如图,文件->新建项目2、创建一个空的Web应用程序。3、然后鼠标右键点击项目,选择 添加>新建项。4、在界面中选择Web服务,点击添加5、如下图所示,WebService的简单Demo就建好了,包含一个Hello World简单示例6、新建一个简单的加法程序,点击运行7、点击刚刚新建的Add方法,进入界面后输入参数,
2021-01-11 15:19:05
6078
1
原创 镭驰400控制器通讯测试
镭驰400浮针标识系统控制器,Telesis Technologies Inc.1、打标机系统 镭驰单针打标系统可将标记信息永久性打印于各种材料,如钢、铝、塑料等。 使用系统软件设计模板可编辑字符的形状、尺寸、密度以及位置。 打标是通过硬化的打标针加速冲击工件表面完成。 软件控制针套移动到打标窗口内的精确位置并且自动控制打标针伸缩来打印标识信息。2、镭驰400控制器 控制器运行打标系统软件并且控制打标头。 控制器面板正面提供 8 行显示的 LCD 液晶显示器面板和一个标准键盘和
2020-12-07 08:54:18
1077
Python 3.6.2安装GLFW及实例
2019-04-17
VS2010 C++学习(3):BMP图像文件的特效显示代码
2013-05-31
编程学C#(1):VS2010 C# Access数据库管理程序
2014-05-12
VS2010 C++学习(3):BMP图像文件的特效显示文档
2013-05-31
OpenCV244 +VS2010下编制的摄像头摄像程序
2013-04-19
通过kepserver实现OPC的数据读写C#实例程序
2020-08-24
使用DLL调用防止程序多次运行的实例程序
2020-08-08
VS2010 C++学习(6):ListCtrl用法及ADO方式读写Access程序文档
2014-04-28
编程学C#(2):BMP图像处理
2014-05-13
ColorHatch文件夹.rar
2021-07-13
对INI文件的节、键、值进行读写操作的实际例子RwIniFile.rar
2020-09-01
C#编程实现附加分离数据库的程序实例Ky_AttachDB.rar
2020-10-05
应用Log4net库记录日志信息的C#实例程序Ky_Log4N.rar
2020-09-09
Ky_Controls.rar
2021-07-19
构建一个简单的HTTP服务器的C#程序实例Ky_HttpServer.rar
2020-09-16
C#资源文件的使用实例Ky_Resx.rar
2020-11-28
C#实现的简单登录界面实例Ky_Login.rar
2020-11-06
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人
RSS订阅