动画精灵编辑器和像素艺术工具Aseprite

Aseprite是一款非常好用强大的像素艺术创作工具
官网售价:$19.99(送Steam Key)
Steam售价(国区): ¥70
同时这款软件开发者在Github上进行了开源,供大家自行编译使用,编译软件受官方许可,制作出的美术资产可用于商用,但不能进行二次销售。如果资金充足可以从官网或者Steam购买支持开发者

购买与编译有什么区别?

购买:会直接获得Win,Mac,Linux安装包直接可以使用,并且有官方邮件支持,更新更方便。
编译:不能直接使用,不同系统,不同版本需要自行下载源代码本地进行编译。

编译

Github Actions在线编译

  1. 注册Github账号,进入Aseprite的Github仓,并Fork项目
  2. 点击 github -> workflows -> build.yml,点击铅笔进行编辑
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
name: Build Aseprite (Windows) - Artifact Only

on:
push:
branches: [ main ]
pull_request:
branches: [ main ]
workflow_dispatch: # 支持手动触发构建

env:
BUILD_TYPE: Release

jobs:
build-windows:
name: Build & Package Aseprite (Windows)
runs-on: windows-latest
permissions:
contents: read # 仅需读取权限
steps:
- uses: actions/checkout@v4
with:
submodules: 'recursive'

- name: Install Dependencies
shell: bash
run: |
choco install wget 7zip -y --no-progress

- name: Install Skia
shell: bash
run: |
wget https://github.com/aseprite/skia/releases/download/m124-08a5439a6b/Skia-Windows-Release-x64.zip
unzip Skia-Windows-Release-x64.zip -d skia

- uses: aseprite/get-ninja@main

- uses: ilammy/msvc-dev-cmd@v1

- name: Generate Build Files
shell: bash
run: |
export enable_ccache=off
export laf_backend=skia
export enable_scripting=on
export skia_arch=x64

cmake -S . -B build -G Ninja \
-DCMAKE_BUILD_TYPE=${{ env.BUILD_TYPE }} \
-DENABLE_TESTS=OFF \
-DENABLE_SCRIPTING=$enable_scripting \
-DENABLE_CCACHE=$enable_ccache \
-DLAF_BACKEND=$laf_backend \
-DSKIA_DIR=$(realpath skia) \
-DSKIA_LIBRARY_DIR=$(realpath skia/out/Release-$skia_arch)

- name: Compile Aseprite
shell: bash
run: cd build && ninja

- name: Verify Build Output
shell: bash
run: |
if [[ ! -d "build/bin" ]]; then
echo "Error: Build output directory not found!"
exit 1
fi
if [[ ! -f "build/bin/aseprite.exe" ]]; then
echo "Error: aseprite.exe not found in build output!"
exit 1
fi
ls -la build/bin

- name: Clean & Prepare Portable Package
working-directory: build/bin
shell: bash
run: |
find . -mindepth 1 ! \( -name 'aseprite.exe' -o -name 'data' -prune \) -exec rm -rf {} +
echo '# Portable mode' > aseprite.ini

- name: Package as Zip
working-directory: build/bin
shell: bash
run: |
TIMESTAMP=$(date +%Y%m%d-%H%M%S)
7z -tzip a "Aseprite-Windows-${TIMESTAMP}.zip" *

- name: Upload Build Artifact
uses: actions/upload-artifact@v4 # 已升级到最新的v4版本
with:
name: Aseprite-Windows-Build
path: build/bin/Aseprite-Windows-*.zip
retention-days: 30
if-no-files-found: error # 如果没有找到文件则报错

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
name: Build Aseprite (Windows) - Artifact Only

on:
push:
branches: [ main ]
pull_request:
branches: [ main ]
workflow_dispatch:

env:
BUILD_TYPE: Release

jobs:
build-windows:
name: Build & Package Aseprite (Windows)
runs-on: windows-latest
permissions:
contents: read
steps:
- uses: actions/checkout@v4
with:
submodules: 'recursive'

- name: Install Dependencies
shell: bash
run: |
choco install wget 7zip -y --no-progress

- name: Install Skia
shell: bash
run: |
wget https://github.com/aseprite/skia/releases/download/m124-08a5439a6b/Skia-Windows-Release-x64.zip
unzip Skia-Windows-Release-x64.zip -d skia

- uses: aseprite/get-ninja@main

- uses: ilammy/msvc-dev-cmd@v1

- name: Generate Build Files
shell: bash
run: |
export enable_ccache=off
export laf_backend=skia
export enable_scripting=on
export skia_arch=x64

cmake -S . -B build -G Ninja \
-DCMAKE_BUILD_TYPE=${{ env.BUILD_TYPE }} \
-DENABLE_TESTS=OFF \
-DENABLE_SCRIPTING=$enable_scripting \
-DENABLE_CCACHE=$enable_ccache \
-DLAF_BACKEND=$laf_backend \
-DSKIA_DIR=$(realpath skia) \
-DSKIA_LIBRARY_DIR=$(realpath skia/out/Release-$skia_arch)

- name: Compile Aseprite
shell: bash
run: cd build && ninja

- name: Verify Build Output
shell: bash
run: |
if [[ ! -d "build/bin" ]]; then
echo "Error: Build output directory not found!"
exit 1
fi
if [[ ! -f "build/bin/aseprite.exe" ]]; then
echo "Error: aseprite.exe not found in build output!"
exit 1
fi
ls -la build/bin

- name: Clean & Prepare Portable Package
working-directory: build/bin
shell: bash
run: |
find . -mindepth 1 ! \( -name 'aseprite.exe' -o -name 'data' -prune \) -exec rm -rf {} +
echo '# Portable mode' > aseprite.ini

- name: Package as Zip
working-directory: build/bin
shell: bash
run: |
TIMESTAMP=$(date +%Y%m%d-%H%M%S)
7z -tzip a "Aseprite-Windows-${TIMESTAMP}.zip" *

- name: Upload Build Artifact
uses: actions/upload-artifact@v4
with:
name: Aseprite-Windows-Build
path: build/bin/Aseprite-Windows-*.zip
retention-days: 30
if-no-files-found: error

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
name: Build Aseprite (Linux) - Artifact Only

on:
push:
branches: [ main ]
pull_request:
branches: [ main ]
workflow_dispatch:

env:
BUILD_TYPE: Release

jobs:
build-linux:
name: Build & Package Aseprite (Linux)
runs-on: ubuntu-latest
permissions:
contents: read
steps:
- uses: actions/checkout@v4
with:
submodules: 'recursive'

- name: Install Dependencies
shell: bash
run: |
# Linux 依赖安装(使用 apt)
sudo apt-get update -qq
sudo apt-get install -y \
wget p7zip-full \
libpixman-1-dev libfreetype6-dev libharfbuzz-dev zlib1g-dev \
libx11-dev libxcursor-dev libxi-dev libgl1-mesa-dev libfontconfig1-dev

- name: Install Skia
shell: bash
run: |
# 下载适用于 Linux x64 的 Skia 库
wget https://github.com/aseprite/skia/releases/download/m124-08a5439a6b/Skia-Linux-Release-x64.zip
unzip Skia-Linux-Release-x64.zip -d skia

- uses: aseprite/get-ninja@main

- name: Generate Build Files
shell: bash
run: |
export enable_ccache=on # Linux 支持 ccache 加速构建
export laf_backend=skia
export enable_scripting=on
export skia_arch=x64 # Linux 主流为 x64 架构

cmake -S . -B build -G Ninja \
-DCMAKE_BUILD_TYPE=${{ env.BUILD_TYPE }} \
-DENABLE_TESTS=OFF \
-DENABLE_SCRIPTING=$enable_scripting \
-DENABLE_CCACHE=$enable_ccache \
-DLAF_BACKEND=$laf_backend \
-DSKIA_DIR=$(realpath skia) \
-DSKIA_LIBRARY_DIR=$(realpath skia/out/Release-$skia_arch)

- name: Compile Aseprite
shell: bash
run: cd build && ninja

- name: Verify Build Output
shell: bash
run: |
if [[ ! -d "build/bin" ]]; then
echo "Error: Build output directory not found!"
exit 1
fi
if [[ ! -f "build/bin/aseprite" ]]; then
echo "Error: aseprite executable not found in build output!"
exit 1
fi
ls -la build/bin

- name: Clean & Prepare Portable Package
working-directory: build/bin
shell: bash
run: |
find . -mindepth 1 ! \( -name 'aseprite' -o -name 'data' -prune \) -exec rm -rf {} +
echo '# Portable mode' > aseprite.ini

- name: Package as Zip
working-directory: build/bin
shell: bash
run: |
TIMESTAMP=$(date +%Y%m%d-%H%M%S)
7z -tzip a "Aseprite-Linux-${TIMESTAMP}.zip" *

- name: Upload Build Artifact
uses: actions/upload-artifact@v4
with:
name: Aseprite-Linux-Build
path: build/bin/Aseprite-Linux-*.zip
retention-days: 30
if-no-files-found: error

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
name: Build Aseprite (Multiplatform) - Artifact Only

on:
push:
branches: [ main ]
pull_request:
branches: [ main ]
workflow_dispatch:

env:
BUILD_TYPE: Release

jobs:
build-multiplatform:
name: Build & Package Aseprite (${{ matrix.os.name }})
runs-on: ${{ matrix.os.runner }}
permissions:
contents: read
strategy:
matrix:
os:
- name: Windows
runner: windows-latest
skia-url: https://github.com/aseprite/skia/releases/download/m124-08a5439a6b/Skia-Windows-Release-x64.zip
skia-arch: x64
executable: aseprite.exe
ccache: "off"
- name: macOS
runner: macos-14
skia-url: https://github.com/aseprite/skia/releases/download/m124-08a5439a6b/Skia-macOS-Release-arm64.zip
skia-arch: arm64
executable: aseprite
ccache: "on"
- name: Linux
runner: ubuntu-latest
skia-url: https://github.com/aseprite/skia/releases/download/m124-08a5439a6b/Skia-Linux-Release-x64.zip
skia-arch: x64
executable: aseprite
ccache: "on"
fail-fast: false # 某平台失败不影响其他平台构建

steps:
- uses: actions/checkout@v4
with:
submodules: 'recursive'

- name: Install Dependencies (${{ matrix.os.name }})
shell: bash
run: |
if [[ "${{ matrix.os.name }}" == "Windows" ]]; then
# Windows 依赖:wget 和 7zip
choco install wget 7zip -y --no-progress
elif [[ "${{ matrix.os.name }}" == "macOS" ]]; then
# macOS 依赖:wget 和 7zip(通过 brew)
brew install wget 7zip
else
# Linux 依赖:系统库和工具
sudo apt-get update -qq
sudo apt-get install -y \
wget p7zip-full \
libpixman-1-dev libfreetype6-dev libharfbuzz-dev zlib1g-dev \
libx11-dev libxcursor-dev libxi-dev libgl1-mesa-dev libfontconfig1-dev
fi

- name: Install Skia
shell: bash
run: |
# 下载对应平台的 Skia 库并解压
wget ${{ matrix.os.skia-url }} -O skia.zip
unzip skia.zip -d skia

- uses: aseprite/get-ninja@main # 所有平台共用 Ninja 工具

- name: Configure MSVC Environment (Windows only)
if: matrix.os.name == 'Windows'
uses: ilammy/msvc-dev-cmd@v1 # 仅 Windows 需要配置 MSVC

- name: Generate Build Files
shell: bash
run: |
export enable_ccache=${{ matrix.os.ccache }}
export laf_backend=skia
export enable_scripting=on
export skia_arch=${{ matrix.os.skia-arch }}

# macOS 额外指定最低系统版本
extra_cmake_args=""
if [[ "${{ matrix.os.name }}" == "macOS" ]]; then
extra_cmake_args="-DCMAKE_OSX_DEPLOYMENT_TARGET=10.15"
fi

cmake -S . -B build -G Ninja \
-DCMAKE_BUILD_TYPE=${{ env.BUILD_TYPE }} \
-DENABLE_TESTS=OFF \
-DENABLE_SCRIPTING=$enable_scripting \
-DENABLE_CCACHE=$enable_ccache \
-DLAF_BACKEND=$laf_backend \
-DSKIA_DIR=$(realpath skia) \
-DSKIA_LIBRARY_DIR=$(realpath skia/out/Release-$skia_arch) \
$extra_cmake_args

- name: Compile Aseprite
shell: bash
run: cd build && ninja

- name: Verify Build Output
shell: bash
run: |
if [[ ! -d "build/bin" ]]; then
echo "Error: Build output directory not found!"
exit 1
fi
if [[ ! -f "build/bin/${{ matrix.os.executable }}" ]]; then
echo "Error: ${{ matrix.os.executable }} not found in build output!"
exit 1
fi
ls -la build/bin

- name: Clean & Prepare Portable Package
working-directory: build/bin
shell: bash
run: |
# 仅保留可执行文件和 data 目录
find . -mindepth 1 ! \( -name '${{ matrix.os.executable }}' -o -name 'data' -prune \) -exec rm -rf {} +
echo '# Portable mode' > aseprite.ini

- name: Package as Zip
working-directory: build/bin
shell: bash
run: |
TIMESTAMP=$(date +%Y%m%d-%H%M%S)
7z -tzip a "Aseprite-${{ matrix.os.name }}-${TIMESTAMP}.zip" *

- name: Upload Build Artifact
uses: actions/upload-artifact@v4
with:
name: Aseprite-${{ matrix.os.name }}-Build
path: build/bin/Aseprite-${{ matrix.os.name }}-*.zip
retention-days: 30
if-no-files-found: error
  1. 点击Commit changes 进行保存。

  2. 点击Action -> Build Aseprite -> Run Workflow,跳转页面刷新一下,项目再在编译。

  3. 10-20分钟编译完成之后点击项目,就可以看到可下载的Aseprite安装包

Win本地编译

下载

Visual Studio 2022Aseprite源码CMakeNinjaSkia
Aseprite源码云盘下载CMake云盘下载Ninja云盘下载Skia云盘下载,云盘密码:adai

编译前准备

  1. 安装Visual Studio 2022,勾选使用C++的桌面开发,右侧勾选MSVCWindows 11 SDK(Win10系统勾选Windows 10 SDK 10.0.18362.0
  2. CMake下载.msi文件,并安装
  3. Ninja文件解压到C:\Program Files\CMake\bin
  4. 在C盘创建aseprite文件夹,并将Aseprite源码解压到此文件夹(如果下载beta版本,那么Skia也要下载beta版本,不然报错),并再创建Build文件夹
  5. 在C盘创建一个desp文件夹,再在desp中创建skia文件夹,将Skia文件解压到skia文件夹中
  6. win+s搜索Developer Command Prompt for VS 2022分别输入以下代码
    1
    2
    3
    4
    call "C:\Program Files\Microsoft Visual Studio\2022\Community\Common7\Tools\VsDevCmd.bat" -arch=x64
    cd C:\aseprite\build
    cmake -DCMAKE_BUILD_TYPE=RelWithDebInfo -DLAF_BACKEND=skia -DSKIA_DIR=C:\deps\skia -DSKIA_LIBRARY_DIR=C:\deps\skia\out\Release-x64 -DSKIA_LIBRARY=C:\deps\skia\out\Release-x64\skia.lib -G Ninja ..
    ninja aseprite
  7. 打开C:\aseprite\build\bin\aseprite.exe文件即可开始使用

汉化和更换主题

Aseprite汉化插件仓Aseprite字体汉化Aseprite主题云盘下载

  1. 打开aseprite,Edit -> Preferences -> Extensions -> Add Extensions -> 添加汉化插件和主题插件 -> General -> Language -> sChinese -> OK

  2. 主题 -> 选择添加的主题 -> 选择 -> 调整缩放 -> 应用,之后重启软件就可以了.

错误

  1. 提示缺少dll文件

    下载Libcrypto-1_1-x64.dll,将解压的文件放入C:\Windows\System32

  2. Cmake error :generator: Ninja
    Aseprite源码版本与Skia版本不对

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    CMake Deprecation Warning at src/observable/CMakeLists.txt:4 (cmake_minimum_required):
    Compatibility with CMake < 3.10 will be removed from a future version of
    CMake.

    Update the VERSION argument <min> value. Or, use the <min>...<max> syntax
    to tell CMake that the project requires at least <min> but has been updated
    to work with policies introduced by <max> or earlier.


    CMake Deprecation Warning at src/undo/CMakeLists.txt:4 (cmake_minimum_required):
    Compatibility with CMake < 3.10 will be removed from a future version of
    CMake.

    Update the VERSION argument <min> value. Or, use the <min>...<max> syntax
    to tell CMake that the project requires at least <min> but has been updated
    to work with policies introduced by <max> or earlier.

    CMake版本过高

    1
    ninja: error: 'C:/deps/skia/out/Release-x64/skia.lib', needed by 'bin/aseprite.exe', missing and no known rule to make it

    查看创建的文件夹名称路径是否正确

其他系统本地编译

参考文档

视频版