动画精灵编辑器和像素艺术工具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

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 ($)
runs-on: $
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 ($)
    shell: bash
    run: |
      if [[ "$" == "Windows" ]]; then
        # Windows 依赖:wget 和 7zip
        choco install wget 7zip -y --no-progress
      elif [[ "$" == "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 $NaN -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=$
      export laf_backend=skia
      export enable_scripting=on
      export skia_arch=$NaN

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

      cmake -S . -B build -G Ninja \
        -DCMAKE_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/$" ]]; then
        echo "Error: $ 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 '$' -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-$-${TIMESTAMP}.zip" *

  - name: Upload Build Artifact
    uses: actions/upload-artifact@v4
    with:
      name: Aseprite-$-Build
      path: build/bin/Aseprite-$-*.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

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

其他系统本地编译

参考文档

视频版