Skip to content
winterlzdPublic

About

nxn 点阵图动画生成器,导出为二进制或十六进制。Nxn bitmap animation generator, exported as binary or hexadecimal.

Topics

Resources

Stars

1 star

Watchers

0 watching

Forks

Repository files navigation

Dot Matrix Generator - AniMatrix

presentation

English · 日本語

一个用 SwiftUI 写的 n×n 点阵动画生成工具(macOS)。点按或拖动鼠标即可在画布上"打点",编辑多帧后导出为文本文件 —— 每行一个十六进制或二进制数字(最左侧像素 = 最高位)。

功能

  • 网格尺寸可选:4×4 / 8×8 / 16×16 / 24×24 / 32×32
  • 绘制工具:Draw / Erase(拖动 = 连续画线,单击 = 画一个点)
  • 多帧管理:新增 / 复制 / 删除 / 一键清除当前帧
  • 播放预览:可调延迟 0.05s ~ 2.0s
  • 导出格式:二进制(0b00001111)或十六进制(0x0F),实时预览
  • 复制到剪贴板 / 另存为 .txt

编译运行

需要 macOS 26+(Tahoe)和 Swift 6.2+ / Xcode 26+。界面采用 Apple Liquid Glass 设计语言。

方式 1:命令行运行

cd ./dotMatrix_Generater
swift run

方式 2:Xcode 打开

open Package.swift

在 Xcode 中按 ⌘R 运行。

打包为 .app / .dmg

仓库自带一个 build.sh,一键完成:release 构建 → 拼 .app bundle → ad-hoc 签名 → 用 hdiutil 打 .dmg。

./build.sh
open dist/DotMatrixGenerator.app
open dist/DotMatrixGenerator-1.0.0.dmg

产物落在 dist/:

dist/
├── DotMatrixGenerator.app/         # 双击可运行的 app bundle(544K)
└── DotMatrixGenerator-1.0.0.dmg    # 压缩后的分发包(152K,UDZO)

build.sh 还会自动处理"只装了 CommandLineTools、需要回退到 26.5 SDK 才能编 SwiftUI"那个坑——默认 swift build -c release 失败时,会用 MacOSX26.5.sdk 重试。

Ad-hoc 签名(codesign -s -)让本机 Gatekeeper 放行,但分发给其他人时他们会看到"未识别开发者"警告——需要换成 Developer ID 证书签名(codesign -s "Developer ID Application: <Your Name>"),并 notarytool 公证。

使用

  1. 在中间画布上按住鼠标拖动画线,或者单击画一个点。
  2. 在左侧"Tool"区切换 Draw / Erase 模式。
  3. 工具栏 Add Frame 新建一帧;底部帧条上的缩略图可点击切换、右键复制/删除。
  4. 左侧"Playback"可调速度、播放预览。
  5. 右侧"Export Preview"实时显示导出文本,Copy 复制或 Save… 存为文件。

导出文件格式

  • 每一帧占一行(行尾无分号)。
  • 一行内含 n 个数字(n = 网格大小),每个数字 = 一行像素的 n 位编码(最左侧像素 = 最高位)。
  • 数字之间用 , (英文逗号 + 空格)分隔。
  • 帧与帧之间用换行分隔。
  • 同一行内格式统一为当前模式(Binary → 0bxxxxxxxx;Hex → 0xNN),不混用。

例:8×8 帧,行为 00000000, 00000000, 00000000, 00011000, 00011000, 00000000, 00000000, 00000000:

Binary 模式:

0b00000000, 0b00000000, 0b00000000, 0b00011000, 0b00011000, 0b00000000, 0b00000000, 0b00000000

Hex 模式:

0x00, 0x00, 0x00, 0x18, 0x18, 0x00, 0x00, 0x00

文件结构

dotMatrix_Generater/
├── Package.swift
└── Sources/DotMatrixGenerator/
    ├── DotMatrixGeneratorApp.swift   # 入口
    ├── ContentView.swift             # 主界面
    ├── DotGridView.swift             # n×n 画布
    ├── FrameStripView.swift          # 底部帧条
    ├── DotFrame.swift                # 帧模型
    ├── FrameStore.swift              # 全局状态
    └── TextExporter.swift            # 文本导出

About

nxn 点阵图动画生成器,导出为二进制或十六进制。Nxn bitmap animation generator, exported as binary or hexadecimal.

Topics

Resources

Stars

1 star

Watchers

0 watching

Forks

Releases

Contributors

Languages