当前位置: 首页 > news >正文

自制Windows系统(十一、Windows11GUI)

开源地址:下载(Work(Windows11gui).img)

上图

 

 

 

部分代码:

void init_screen8(char *vram, int x, int y)
{
int *fat;
unsigned char c;
struct MEMMAN *memman = (struct MEMMAN *) MEMMAN_ADDR;
boxfill8(vram, x, 136,  0,     0,      x -  1, y - 29);
fat = (int *) memman_alloc_4k(memman, 4 * 2880);
file_readfat(fat, (unsigned char *) (ADR_DISKIMG + 0x000200));
pic_read_picture(fat, vram, x, y);
memman_free_4k(memman, (int) fat, 4 * 2880);//boxfill8(vram, x, 136,  0,     0,      x -  1, y - 29);boxfill8(vram, x, COL8_C6C6C6,  0,     y - 28, x -  1, y - 28);boxfill8(vram, x, COL8_FFFFFF,  0,     y - 27, x -  1, y - 1);//my computerboxfill8(vram, x, COL8_C6C6C6, 10, 45, 45, 65);boxfill8(vram, x, COL8_00FFFF, 12, 47, 43, 63);boxfill8(vram, x, COL8_C6C6C6, 22, 65, 32, 75);boxfill8(vram, x, COL8_C6C6C6, 12, 75, 43, 77);putfonts8_asc(vram, x, 6, 90, COL8_000000, "此电脑");putfonts8_asc(vram, x, 5, 89, COL8_FFFFFF, "此电脑");//trash benboxfill8(vram, x, COL8_C6C6C6, 11, 140, 39, 142);boxfill8(vram, x, COL8_848484, 12, 141, 38, 142);boxfill8(vram, x, COL8_848484, 11, 143, 39, 144);boxfill8(vram, x, COL8_C6C6C6, 10, 145, 40, 155);boxfill8(vram, x, COL8_C6C6C6, 11, 155, 39, 165);boxfill8(vram, x, COL8_C6C6C6, 12, 165, 38, 175);boxfill8(vram, x, COL8_848484, 13, 171, 37, 174);boxfill8(vram, x, COL8_FFFFFF, 11, 145, 39, 145);boxfill8(vram, x, COL8_0000FF, 18, 150, 22, 154);boxfill8(vram, x, COL8_C6C6C6, 18, 150, 18, 150);boxfill8(vram, x,         136, 23, 150, 27, 153);boxfill8(vram, x,         136, 26, 153, 28, 154);boxfill8(vram, x,         136, 14, 159, 17, 163);boxfill8(vram, x,         136, 17, 158, 17, 158);boxfill8(vram, x, COL8_0000FF, 17, 162, 21, 166);boxfill8(vram, x, COL8_0000FF, 22, 165, 22, 166);boxfill8(vram, x, COL8_C6C6C6, 17, 166, 17, 166);boxfill8(vram, x,         136, 25, 161, 29, 166);boxfill8(vram, x, COL8_0000FF, 28, 158, 32, 163);boxfill8(vram, x, COL8_C6C6C6, 32, 163, 32, 163);boxfill8(vram, x, COL8_C6C6C6, 32, 158, 32, 159);boxfill8(vram, x, COL8_C6C6C6, 25, 161, 25, 164);boxfill8(vram, x, COL8_C6C6C6, 26, 161, 26, 161);putfonts8_asc(vram, x, 6, 180, COL8_000000, "回收站");putfonts8_asc(vram, x, 5, 179, COL8_FFFFFF, "回收站");//setboxfill8(vram, x, COL8_FF0000, 5, 230, 20, 245);boxfill8(vram, x, COL8_00FF00, 23, 230, 38, 245);boxfill8(vram, x, COL8_0000FF, 5, 248, 20, 263);boxfill8(vram, x, COL8_FFFF00, 23, 248, 38, 263);putfonts8_asc(vram, x, 6, 270, COL8_000000, "设置");putfonts8_asc(vram, x, 5, 269, COL8_FFFFFF, "设置");/*//noteboxfill8(vram, x, COL8_C6C6C6, 10, 280, 33, 310);putfonts8_asc(vram, x, 8, 280, COL8_C6C6C6, "-");putfonts8_asc(vram, x, 8, 285, COL8_C6C6C6, "-");putfonts8_asc(vram, x, 8, 290, COL8_C6C6C6, "-");putfonts8_asc(vram, x, 8, 295, COL8_C6C6C6, "-");putfonts8_asc(vram, x, 8, 300, COL8_C6C6C6, "-");putfonts8_asc(vram, x, 7, 320, COL8_000000, "记事本");putfonts8_asc(vram, x, 6, 319, COL8_FFFFFF, "记事本");//cmdboxfill8(vram, x, COL8_848484, 10, 99, 43, 123);boxfill8(vram, x, COL8_000000, 10, 100, 43, 123);putfonts8_asc(vram, x, 11, 102, COL8_FFFFFF, ">_");putfonts8_asc(vram, x, 10, 126, COL8_000000, "cmd");putfonts8_asc(vram, x, 9, 125, COL8_FFFFFF, "cmd");//VMwareboxfill8(vram, x, COL8_FF0000, 10, 160, 28, 162);boxfill8(vram, x, COL8_FF0000, 10, 160, 12, 182);boxfill8(vram, x, COL8_FF0000, 26, 160, 28, 182);boxfill8(vram, x, COL8_FF0000, 10, 180, 28, 182);boxfill8(vram, x, 203, 15, 155, 30, 157);boxfill8(vram, x, 203, 15, 155, 17, 177);boxfill8(vram, x, 203, 30, 155, 32, 177);boxfill8(vram, x, 203, 15, 175, 30, 177);boxfill8(vram, x, COL8_FF0000, 10, 160, 28, 162);putfonts8_asc(vram, x, 5, 186, COL8_000000, "VMware");putfonts8_asc(vram, x, 4, 185, COL8_FFFFFF, "VMware");//gameboxfill8(vram, x, COL8_00FF00, 10, 210, 40, 240);putfonts8_asc(vram, x, 12, 210, COL8_FF0000, "p l");putfonts8_asc(vram, x, 12, 224, COL8_FF0000, "a y");putfonts8_asc(vram, x, 6, 250, COL8_000000, "游戏");putfonts8_asc(vram, x, 5, 249, COL8_FFFFFF, "游戏");//DOSBoxboxfill8(vram, x, COL8_848400, 10, 340, 40, 375);putfonts8_asc(vram, x, 12, 342, COL8_FFFF00, "DOS");putfonts8_asc(vram, x, 12, 358, COL8_FFFF00, "BOX");putfonts8_asc(vram, x, 6, 380, COL8_000000, "DOSBox");putfonts8_asc(vram, x, 5, 379, COL8_FFFFFF, "DOSBox");//pythonboxfill8(vram, x, COL8_FFFF00, 21, 405, 35, 415);boxfill8(vram, x, COL8_FFFF00, 21, 416, 30, 420);boxfill8(vram, x, COL8_0000FF, 20, 400, 30, 404);boxfill8(vram, x, COL8_0000FF, 15, 405, 30, 410);boxfill8(vram, x, COL8_0000FF, 15, 410, 20, 415);boxfill8(vram, x, COL8_FFFFFF, 22, 402, 22, 402);boxfill8(vram, x, COL8_FFFFFF, 28, 418, 28, 418);putfonts8_asc(vram, x, 6, 430, COL8_000000, "python");putfonts8_asc(vram, x, 5, 429, COL8_FFFFFF, "python");boxfill8(vram, x, COL8_000000, 75, 25, 115, 62);putfonts8_asc(vram, x, 80, 26, COL8_FF00FF, "Chat");putfonts8_asc(vram, x, 82, 45, COL8_FF00FF, "GPT");putfonts8_asc(vram, x, 70, 65, COL8_000000, "ChatGPT");putfonts8_asc(vram, x, 69, 64, COL8_FFFFFF, "ChatGPT");boxfill8(vram, x, COL8_000000, 75, 125, 115, 162);putfonts8_asc(vram, x, 80, 126, COL8_FF00FF, "func");putfonts8_asc(vram, x, 82, 145, COL8_FF00FF, "sin");putfonts8_asc(vram, x, 70, 165, COL8_000000, "函数");putfonts8_asc(vram, x, 69, 164, COL8_FFFFFF, "函数");
*/putfonts8_asc(vram, x, x - 180, y - 20, COL8_000000, "英");boxfill8(vram, x, COL8_00FFFF, 201, y - 23, 210, y - 14);boxfill8(vram, x, COL8_00FFFF, 201, y - 12, 210, y - 3);boxfill8(vram, x, COL8_00FFFF, 212, y - 23, 221, y - 14);boxfill8(vram, x, COL8_00FFFF, 212, y - 12, 221, y - 3);boxfill8(vram, x, COL8_848484, 225, y - 23, 350, y - 3);boxfill8(vram, x, COL8_FFFFFF, 226, y - 22, 349, y - 4);putfonts8_asc(vram, x, 227, y - 20, COL8_C6C6C6, "搜索...");return;
}void win_start_init_screen(char *vram, int x, int y)
{boxfill8(vram, x, COL8_C6C6C6,  2, y - 300,      355, y - 30);boxfill8(vram, x, COL8_FFFFFF,  3, y - 299,      354, y - 31);boxfill8(vram, x, COL8_848484,  13, y - 290,      300, y - 270);boxfill8(vram, x, COL8_FFFFFF,  14, y - 289,      299, y - 271);putfonts8_asc(vram, x, 20, y - 288, COL8_C6C6C6, "搜索本机应用......");putfonts8_asc(vram, x, 35, y - 264, COL8_000000, "已固定");//gameboxfill8(vram, x, COL8_00FF00, 10, y - 240, 40, y - 210);putfonts8_asc(vram, x, 12, y - 240, COL8_FF0000, "p l");putfonts8_asc(vram, x, 12, y - 224, COL8_FF0000, "a y");putfonts8_asc(vram, x, 5, y - 210, COL8_000000, "游戏");//DOSBoxboxfill8(vram, x, COL8_848400, 60, y - 243, 100, y - 210);putfonts8_asc(vram, x, 62, y - 243, COL8_FFFF00, "DOS");putfonts8_asc(vram, x, 62, y - 227, COL8_FFFF00, "BOX");putfonts8_asc(vram, x, 56, y - 210, COL8_000000, "DOSBox");//pythonboxfill8(vram, x, COL8_FFFF00, 141, y - 235, 155, y - 225);boxfill8(vram, x, COL8_FFFF00, 141, y - 224, 150, y - 220);boxfill8(vram, x, COL8_0000FF, 140, y - 240, 150, y - 236);boxfill8(vram, x, COL8_0000FF, 135, y - 235, 150, y - 230);boxfill8(vram, x, COL8_0000FF, 135, y - 230, 140, y - 225);boxfill8(vram, x, COL8_FFFFFF, 142, y - 238, 142, y - 238);boxfill8(vram, x, COL8_FFFFFF, 148, y - 222, 148, y - 222);putfonts8_asc(vram, x, 125, y - 210, COL8_000000, "python");//noteboxfill8(vram, x, 203, 210, y - 240, 230, y - 215);boxfill8(vram, x, COL8_FFFFFF, 211, y - 216, 229, y - 216);putfonts8_asc(vram, x, 200, y - 210, COL8_000000, "记事本");//VMwareboxfill8(vram, x, COL8_FF0000, 295, y - 230, 306, y - 228);boxfill8(vram, x, COL8_FF0000, 295, y - 230, 297, y - 218);boxfill8(vram, x, COL8_FF0000, 306, y - 230, 308, y - 219);boxfill8(vram, x, COL8_FF0000, 297, y - 220, 308, y - 218);boxfill8(vram, x, 203, 300, y - 235, 311, y - 233);boxfill8(vram, x, 203, 300, y - 235, 302, y - 223);boxfill8(vram, x, 203, 311, y - 235, 313, y - 224);boxfill8(vram, x, 203, 302, y - 225, 313, y - 223);putfonts8_asc(vram, x, 280, y - 210, COL8_000000, "VMware");//GPTboxfill8(vram, x, COL8_000000, 10, y - 180, 45, y - 143);putfonts8_asc(vram, x, 11, y - 178, COL8_FF00FF, "Chat");putfonts8_asc(vram, x, 15, y - 160, COL8_FF00FF, "GPT");putfonts8_asc(vram, x, 5, y - 140, COL8_000000, "ChatGPT");//cmdboxfill8(vram, x, COL8_000000, 70, y - 180, 103, y - 151);boxfill8(vram, x, COL8_848484, 70, y - 180, 103, y - 180);putfonts8_asc(vram, x, 71, y - 178, COL8_FFFFFF, ">_");putfonts8_asc(vram, x, 70, y - 140, COL8_000000, "cmd");boxfill8(vram, x, COL8_C6C6C6, 198, y - 172, 250, y - 154);putfonts8_asc(vram, x, 200, y - 170, COL8_000000, "全部 >");putfonts8_asc(vram, x, 10, y - 100, COL8_000000, "推荐的项目: hello.asm");boxfill8(vram, x, COL8_C6C6C6, 198, y - 102, 250, y - 84);putfonts8_asc(vram, x, 200, y - 100, COL8_000000, "更多 >");boxfill8(vram, x, COL8_848484, 4, y - 75, 353, y - 75);putfonts8_asc(vram, x, 50, y - 60, COL8_000000,"Administrator");putfonts8_asc(vram, x, 260, y - 67, COL8_000000,"关机");putfonts8_asc(vram, x, 260, y - 50, COL8_000000,"重启");return;
}

 

 

 

相关文章:

自制Windows系统(十一、Windows11GUI)

开源地址:下载(Work(Windows11gui).img) 上图 部分代码: void init_screen8(char *vram, int x, int y) { int *fat; unsigned char c; struct MEMMAN *memman (struct MEMMAN *) MEMMAN_ADDR; boxfill8(vram, x, 136, 0, …...

索罗斯的“反身性”(Reflexivity)理论:市场如何扭曲现实?(中英双语)

索罗斯的“反身性”(Reflexivity)理论:市场如何扭曲现实? 一、引言:市场是镜子,还是哈哈镜? 在传统经济学中,市场通常被认为是一个理性、有效的反映现实的系统。按照经典经济学理论…...

力扣257. 二叉树的所有路径(遍历思想解决)

Problem: 257. 二叉树的所有路径 文章目录 题目描述思路复杂度Code 题目描述 思路 遍历思想(利用二叉树的先序遍历) 利用先序遍历的思想,我门用一个List变量path记录当前先序遍历的节点,当遍历到根节点时,将其添加到另一个List变量res中&…...

使用朴素贝叶斯对散点数据进行分类

本文将通过一个具体的例子,展示如何使用 Python 和 scikit-learn 库中的 GaussianNB 模型,对二维散点数据进行分类,并可视化分类结果。 1. 数据准备 假设我们有两个类别的二维散点数据,每个类别包含若干个点。我们将这些点分别存…...

如何实现滑动列表功能

文章目录 1 概念介绍2 使用方法3 示例代码 我们在上一章回中介绍了沉浸式状态栏相关的内容,本章回中将介绍SliverList组件.闲话休提,让我们一起Talk Flutter吧。 1 概念介绍 我们在这里介绍的SliverList组件是一种列表类组件,类似我们之前介…...

计算机网络一点事(22)

地址解析协议ARP ARP:查询Mac地址 ARP表(ARP缓存):记录映射关系,一个数据结构,定期更新ARP表 过程:请求分组,响应分组 动态主机配置协议DHCP 分配IP地址,配置默认网关…...

C# 语言基础全面解析

.NET学习资料 .NET学习资料 .NET学习资料 一、引言 C# 是一种功能强大、面向对象且类型安全的编程语言,由微软开发,广泛应用于各种类型的软件开发,从桌面应用、Web 应用到游戏开发等领域。本文将全面介绍 C# 语言的基础知识,帮…...

[原创](Modern C++)现代C++的关键性概念: 流格式化

常用网名: 猪头三 出生日期: 1981.XX.XX 企鹅交流: 643439947 个人网站: 80x86汇编小站 编程生涯: 2001年~至今[共24年] 职业生涯: 22年 开发语言: C/C、80x86ASM、PHP、Perl、Objective-C、Object Pascal、C#、Python 开发工具: Visual Studio、Delphi、XCode、Eclipse、C Bui…...

《数据可视化新高度:Graphy的AI协作变革》

在数据洪流奔涌的时代,企业面临的挑战不再仅仅是数据的收集,更在于如何高效地将数据转化为洞察,助力决策。Graphy作为一款前沿的数据可视化工具,凭借AI赋能的团队协作功能,为企业打开了数据协作新局面,重新…...

C++并发:设计无锁数据结构

只要摆脱锁,实现支持安全并发访问的数据结构,就有可能解决大粒度锁影响并发程度以及错误的加锁方式导致死锁的问题。这种数据结构称为无锁数据结构。 在了解本文时,务必读懂内存次序章节。 在设计无锁数据结构时,需要极为小心谨…...

蓝桥杯刷题DAY2:二维前缀和 一维前缀和 差分数组

闪耀的灯光 📌 题目描述 蓝桥公园是一个适合夜间散步的好地方,公园可以被视为由 n m 个矩形区域构成。每个区域都有一盏灯,初始亮度为 a[i][j]。 小蓝可以选择一个大的矩形区域,并按下开关一次,这将使得该区域内每盏…...

雷电等基于VirtualBox的Android模拟器映射串口和测试CSerialPort串口功能

雷电等基于VirtualBox的Android模拟器映射串口和测试CSerialPort串口功能 1. 修改VirtualBox配置文件映射串口 模拟器配置文件vms/leidian0/leidian.vbox。 在UART标签下增加(修改完成后需要将leidian.vbox修改为只读) <Port slot"1" enabled"true"…...

四、jQuery笔记

(一)jQuery概述 jQuery本身是js的一个轻量级的库,封装了一个对象jQuery,jquery的所有语法都在jQuery对象中 浏览器不认识jquery,只渲染html、css和js代码,需要先导入jQuery文件,官网下载即可 jQuery中文说明文档:https://hemin.cn/jq/ (二)jQuery要点 1、jQuery对象 …...

流浪 Linux: 外置 USB SSD 安装 ArchLinux

注: ArchLinux 系统为滚动更新, 变化很快, 所以本文中的安装方法可能很快就过时了, 仅供参考. 实际安装时建议去阅读官方文档. 最近, 突然 (也没有那么突然) 有了一大堆 PC: 4 个笔记本, 2 个台式主机 (M-ATX 主板), 1 个小主机 (迷你主机). 嗯, 多到用不过来. 但是, 窝又不能…...

1.For New TFLite Beginner

一、 Getting Started for ML Beginners This document explains how to use machine learning to classify (categorize) Iris flowers by species. This document dives deeply into the TensorFlow code to do exactly that, explaining ML fundamentals along the way. If…...

吊打同类软件免费又可批量使用

聊一聊 对于经常用到席卡的人来说&#xff0c;每次打印都觉得麻烦&#xff0c;要是有个软件&#xff0c;直接输入名称就能打印就好了。 这不&#xff0c;只要你想&#xff0c;就肯定能实现&#xff1b;如果没实现&#xff0c;就说明你不够想。 这个软件我测试了下&#xff0…...

MiniMind——跑通项目

文章目录 &#x1f4cc; Quick Start Train MiniMind (ModelScope) # step 1 git clone https://huggingface.co/jingyaogong/minimind-v1# step 2 python 2-eval.py或者启动streamlit&#xff0c;启动网页聊天界面 「注意」需要python>3.10&#xff0c;安装 pip install s…...

单细胞-第五节 多样本数据分析,打分R包AUCell

文件在单细胞\5_GC_py\1_single_cell\3.AUCell.Rmd 1.基因 rm(list = ls()) load("g.Rdata")2.AUCell https://www.ncbi.nlm.nih.gov/pmc/articles/PMC9897923 IF: NA NA NA用这个文章里的方法,将单细胞亚群的marker基因与ros相关基因取交集,用作AUCell的基因集…...

【零拷贝】

目录 一&#xff1a;了解IO基础概念 二&#xff1a;数据流动的层次结构 三&#xff1a;零拷贝 1.传统IO文件读写 2.mmap 零拷贝技术 3.sendFile 零拷贝技术 一&#xff1a;了解IO基础概念 理解CPU拷贝和DMA拷贝 ​ 我们知道&#xff0c;操作系统对于内存空间&…...

深入解析 C++ 字符串处理:提取和分割的多种方法

在 C 编程中&#xff0c;字符串处理是一个常见的任务&#xff0c;尤其是在需要从字符串中提取特定数据时。本文将详细探讨如何使用 C 标准库中的工具&#xff08;如 std::istringstream 和 std::string 的成员函数&#xff09;来提取和分割字符串&#xff0c;并分析不同方法的适…...

Fast-GitHub:打破GitHub访问壁垒的智能加速方案

Fast-GitHub&#xff1a;打破GitHub访问壁垒的智能加速方案 【免费下载链接】Fast-GitHub 国内Github下载很慢&#xff0c;用上了这个插件后&#xff0c;下载速度嗖嗖嗖的~&#xff01; 项目地址: https://gitcode.com/gh_mirrors/fa/Fast-GitHub 你是否曾因GitHub仓库克…...

DLSS Swapper终极指南:免费开源工具让游戏DLSS管理变得简单快速

DLSS Swapper终极指南&#xff1a;免费开源工具让游戏DLSS管理变得简单快速 【免费下载链接】dlss-swapper 项目地址: https://gitcode.com/GitHub_Trending/dl/dlss-swapper 如果你正在寻找一款能够智能管理游戏DLSS、FSR和XeSS文件的免费开源工具&#xff0c;那么DLS…...

终极免费Switch模拟器yuzu:解决电脑玩任天堂游戏的5大痛点

终极免费Switch模拟器yuzu&#xff1a;解决电脑玩任天堂游戏的5大痛点 【免费下载链接】yuzu 任天堂 Switch 模拟器 项目地址: https://gitcode.com/GitHub_Trending/yu/yuzu 想在电脑上畅玩Switch游戏却总是遇到各种问题&#xff1f;yuzu模拟器作为全球最受欢迎的开源任…...

告别黑盒:5分钟为你的自定义CNN模型集成Grad-CAM可视化(附常见错误排查)

告别黑盒&#xff1a;5分钟为你的自定义CNN模型集成Grad-CAM可视化&#xff08;附常见错误排查&#xff09; 在深度学习项目中&#xff0c;我们常常陷入一个尴尬境地&#xff1a;模型准确率很高&#xff0c;但完全不知道它究竟"看"了图像的哪些部分做出决策。这种黑盒…...

地下态势智能研判,拔高硐室深部安全透明管控等级技术白皮书

地下态势智能研判&#xff0c;拔高硐室深部安全透明管控等级技术白皮书 副标题&#xff1a;全要素三维动态重建井下场景&#xff0c;融合井下无感坐标解算、跨断面跨镜轨迹串联、身体指纹人员轨迹存档&#xff0c;井下风险前置感知、动态全程透明追溯 前言 矿山井下深部硐室与纵…...

Linuxbonding链路生产排障流程

Linuxbonding链路生产排障流程这是一篇面向中级 Linux 使用者的技术文章&#xff0c;主题聚焦在bonding链路&#xff0c;重点讨论链路聚合、冗余切换和接口状态。在真实生产环境中&#xff0c;bonding链路相关问题往往不会以单一错误形式出现&#xff0c;而是混杂在日志、权限、…...

Unlock Music Electron:3步解锁你的加密音乐文件,重获音乐自由终极指南

Unlock Music Electron&#xff1a;3步解锁你的加密音乐文件&#xff0c;重获音乐自由终极指南 【免费下载链接】unlock-music-electron Unlock Music Project - Electron Edition 在Electron构建的桌面应用中解锁各种加密的音乐文件 项目地址: https://gitcode.com/gh_mirro…...

多维子集和问题:NP难问题的算法与应用解析

1. 多维子集和问题概述多维子集和问题(Multi-dimensional Subset Sum Problem)是计算复杂度理论中的经典NP难问题。简单来说&#xff0c;它要求在给定的n维向量集合中&#xff0c;找出一个子集&#xff0c;使得该子集中所有向量在每一维上的和恰好等于目标向量对应的分量。这个…...

Unity区域加载系统:实现开放世界无缝加载与内存优化

1. 项目概述&#xff1a;一个高效、可扩展的Unity区域加载系统 最近在做一个开放世界风格的项目&#xff0c;场景大了之后&#xff0c;加载卡顿和内存管理就成了老大难问题。传统的Unity场景加载&#xff0c;要么一股脑全塞进内存&#xff0c;要么就得自己写一堆脚本来手动控制…...

Pixel Framebuf库:图形化编程驱动LED矩阵,告别底层坐标换算

1. 项目概述&#xff1a;告别点灯&#xff0c;拥抱图形化LED矩阵编程如果你玩过Arduino或者树莓派&#xff0c;大概率接触过WS2812B这类可寻址LED&#xff0c;也就是大家常说的NeoPixel。单个灯珠的控制很简单&#xff0c;setPixelColor一下就能亮。但当你面对一个8x8、16x16甚…...