2026 洛谷冬日绘板脚本
关于冬日绘板
官方介绍: LGS Paintboard 2026 冬日绘板。
API 文档:LGS Paintboard 2026 冬日绘板 API 文档。
冬日绘板是进行网络画布像素争夺的一项活动,在 OI 圈中有一定的知名度。这类活动据传起源于 2017 年愚人节的 Reddit 平台开展的 r/place 活动,时长 72 小时,而当时绘画的冷却时间则为 5 分钟。洛谷平台于 2021 年和 2022 年元旦也发布了类似的活动,由于活动在冬日举行,故定名为冬日绘板。
用户们用自己的 Token,在绘板上勾勒出一个个 OI 圈形象的轮廓。有 OI 圈知名 IP 珂朵莉、东方 Project 等内容,有各个 OI 强校的校徽,有乐正绫、洛天依、初音未来等歌者,也有明日方舟、原神、东方等游戏。许多“势力”在这里争抢地盘,他们或集齐许多 Token 来维护自己的图像,或使用 Token 进行随机撒点,与别的势力抗争。总之,很多用户都在这里留下了自己的一笔。
然而,这项备受好评和欢迎的活动并没有持续下去,在各方势力都在为新一年的冬日绘板做准备时,2023 年的元旦,洛谷官方的冬日绘板并没有如期到来,而 洛谷冬日绘版 界面上的活动时间,也永远停滞在了 2022/01/01 00:00 ~ 2022/01/04 00:30……
后来,在 Github 用户 @IceCang 同学的发起下,他们决定以 AyakaCraft Paintboard 的名义,继续举办 2023 年的冬日绘板。借鉴了洛谷官方冬日绘板的 UI,LS Paintboard 得以复原了洛谷冬日绘板的画风。同时,LS Paintboard 学习了洛谷平台两年间从 Cookie 共享到 Token 共享的升级,并按照原先一个洛谷实名认证的账号拥有一份绘画权限的规则,创造性地使用剪切板 ID 进行用户核验。2023 ~ 2025 年的活动如期进行,成功让许多用户参与其中。
就这样,冬日绘板活动,不但没有因官方绘板的停滞而落幕。而是在一年年地,以民间绘板的形式被传承下去。到 2026 年 2 月过春节的时候,就是洛谷用户们参与冬日绘板的第六个年头了。我们诚挚地邀请屏幕前的各位参与进来,用自己的 Token,为网络上的这一方画布画上你独特的一点,在冬日绘板中留下你的一份痕迹。
让我们一起祝愿冬日绘板越办越好,祝愿我们的冬日绘板永存!
关于脚本
Github: https://github.com/xglight/XG-LGS-PaintBoard
采用后端 C++,网络交互 Node.js,使用 TCP Socket 进行程序通信。
C++ 采用 C++23 标准,使用 Clang 21 编译,CMAKE 构建。
Node.js v22.13.1。
1. 极致性能架构 ⚡
- 后端核心 (C++):采用 C++23 标准,使用 Clang 21 编译。利用 C++ 强大的内存管理和计算能力,处理画布缓存、像素比对、绘图调度等 CPU 密集型任务。
- 网络前端 (Node.js):基于 Node.js v22.13.1,利用其非阻塞 I/O 特性,高效管理 WebSocket 连接,处理与绘板服务器的高频交互。
- 双端通信:两者通过本地 TCP Socket 进行数据交换,兼顾了 C++ 的计算速度与 JS 的网络灵活性。
2. 多样化的绘图策略 🎨
脚本内置了三种绘图模式,满足不同场景的需求:
- 🎲 随机模式 (Random):在指定区域内随机选择像素点进行绘制,适合维护已完成的画作,降低视觉上的“扫描线”感。
- 📥 填充模式 (Fill):按既定顺序(如从左到右、从下到上等 4 种方向)稳扎稳打地填充区域。
- 🧩 分块模式 (Block) [推荐]:这是本脚本的杀手锏。支持将画布切割为多个区块(如 1x1, 2x2 等),每个 WebSocket 连接由独立线程负责一个区域。配合 多账号/多 Token,可实现大规模并行绘制,效率倍增。
3. 精细的权重控制 ⚖️
在随机或分块模式下,支持加载 权重文件。你可以为关键像素(如边框、文字细节)设置更高的权重 \(w\),脚本将优先修复这些高权重坐标,确保核心视觉元素不被破坏。
技术细节
XG-LGSPaintBoard 在设计上充分考虑了扩展性与工程化:
- 依赖管理:集成了
fmt(格式化),spdlog(日志),nlohmann_json(配置解析) 等成熟库,并在 Node.js 端使用sharp进行图片二进制处理。 - 配置灵活:通过
config.json全局掌控 API 地址、WebSocket 协议(ws/wss)、连接数限制及画布尺寸。 - 辅助工具:提供
graphtobinary.mjs快速将图片转换为脚本可读的二进制文件。
如何开始?
项目已在 GitHub 开源,支持 Linux/macOS/Windows (需环境支持) 构建。
快速上手
- 克隆项目:
1
git clone https://github.com/Luogu-Community/XG-LGS-PaintBoard.git
- 编译 C++ 后端:
1
cd XG-LGS-PaintBoard/build && cmake .. && make
- 配置 Node.js 依赖:
1
cd ../nodejs && npm install
- 修改配置:参考
config.example.json填入你的 Token 和绘图路径。 - 启动:享受极速绘图体验!
获取项目
🔗 GitHub 仓库地址:XG-LGSPaintBoard (欢迎 Star ⭐ 关注更新)
本文基于 XG-LGSPaintBoard README 文档整理,技术参数以仓库最新版本为准。
