Aseprite是一款非常好用强大的像素艺术创作工具
官网售价:$19.99(送Steam Key)
Steam售价(国区): ¥70
同时这款软件开发者在Github上进行了开源,供大家自行编译使用,编译软件受官方许可,制作出的美术资产可用于商用,但不能进行二次销售。如果资金充足可以从官网或者Steam购买支持开发者
购买与编译有什么区别?
购买:会直接获得Win,Mac,Linux安装包直接可以使用,并且有官方邮件支持,更新更方便。
编译:不能直接使用,不同系统,不同版本需要自行下载源代码本地进行编译。
编译
Github Actions在线编译
- 注册Github账号,进入Aseprite的Github仓,并
Fork项目
[{"url":"/img/posts/aseprite/aseprite1.jpg","alt":""},{"url":"/img/posts/aseprite/aseprite2.jpg","alt":""}]
- 点击
github -> workflows -> build.yml,点击铅笔进行编辑
[{"url":"/img/posts/aseprite/aseprite3.jpg","alt":""},{"url":"/img/posts/aseprite/aseprite4.jpg","alt":""},{"url":"/img/posts/aseprite/aseprite5.jpg","alt":""}]
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
| 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
- name: Configure MSVC Environment (Windows only) if: matrix.os.name == 'Windows' uses: ilammy/msvc-dev-cmd@v1
- 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 }}
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
|
点击Commit changes 进行保存。

点击Action -> Build Aseprite -> Run Workflow,跳转页面刷新一下,项目再在编译。
[{"url":"/img/posts/aseprite/aseprite7.jpg","alt":""},{"url":"/img/posts/aseprite/aseprite8.jpg","alt":""}]
10-20分钟编译完成之后点击项目,就可以看到可下载的Aseprite安装包
[{"url":"/img/posts/aseprite/aseprite10.jpg","alt":""},{"url":"/img/posts/aseprite/aseprite9.jpg","alt":""}]
Win本地编译
下载
Visual Studio 2022,Aseprite源码,CMake,Ninja,Skia
Aseprite源码云盘下载,CMake云盘下载,Ninja云盘下载,Skia云盘下载,云盘密码:adai
编译前准备
- 安装
Visual Studio 2022,勾选使用C++的桌面开发,右侧勾选MSVC,Windows 11 SDK(Win10系统勾选Windows 10 SDK 10.0.18362.0)

CMake下载.msi文件,并安装

- 将
Ninja文件解压到C:\Program Files\CMake\bin
- 在C盘创建
aseprite文件夹,并将Aseprite源码解压到此文件夹(如果下载beta版本,那么Skia也要下载beta版本,不然报错),并再创建Build文件夹

- 在C盘创建一个
desp文件夹,再在desp中创建skia文件夹,将Skia文件解压到skia文件夹中

- 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
|
- 打开C:\aseprite\build\bin\aseprite.exe文件即可开始使用

汉化和更换主题
Aseprite汉化插件仓,Aseprite字体汉化,Aseprite主题,云盘下载
打开aseprite,Edit -> Preferences -> Extensions -> Add Extensions -> 添加汉化插件和主题插件 -> General -> Language -> sChinese -> OK
[{"url":"/img/posts/aseprite/hanhua.jpg","alt":""},{"url":"/img/posts/aseprite/hanhua2.jpg","alt":""},{"url":"/img/posts/aseprite/hanhua3.jpg","alt":""}]
主题 -> 选择添加的主题 -> 选择 -> 调整缩放 -> 应用,之后重启软件就可以了.

错误
提示缺少dll文件

下载Libcrypto-1_1-x64.dll,将解压的文件放入C:\Windows\System32
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
|
查看创建的文件夹名称路径是否正确
其他系统本地编译
参考文档
视频版