10个版本

0.3.8 2024年3月14日
0.3.7 2024年3月3日
0.3.6 2023年6月30日
0.3.5 2022年4月24日
0.2.0 2021年3月27日

#81 in 图像

Download history 133/week @ 2024-04-08 113/week @ 2024-04-15 135/week @ 2024-04-22 110/week @ 2024-04-29 101/week @ 2024-05-06 146/week @ 2024-05-13 157/week @ 2024-05-20 111/week @ 2024-05-27 136/week @ 2024-06-03 115/week @ 2024-06-10 132/week @ 2024-06-17 134/week @ 2024-06-24 55/week @ 2024-07-01 70/week @ 2024-07-08 121/week @ 2024-07-15 317/week @ 2024-07-22

576 每月下载量
12 个Crates(9个直接)中使用

MIT 协议

165KB
3.5K SLoC

asefile

Build status crates.io Documentation

加载Aseprite文件的实用工具。此库直接读取二进制Aseprite文件(规范)并且不需要您将文件导出为JSON。这应该使游戏启动时(在开发过程中)加载您的资源足够快。您还可以使用它来构建自己的资源管道。

文档 | 变更日志

示例

use std::path::Path;

use asefile::AsepriteFile;
use image::{self, ImageFormat};

fn main() {
    let file = Path::new("input.aseprite");
    // Read file into memory
    let ase = AsepriteFile::read_file(&file).unwrap();
    // Write one output image for each frame in the Aseprite file.
    for frame in 0..ase.num_frames() {
        let output = format!("output_{}.png", frame);
        // Create image in memory, then write it to disk as PNG.
        let img = ase.frame(frame).image();
        img.save_with_format(output, ImageFormat::Png).unwrap();
    }
}

不支持的功能

Aseprite 1.2.25的以下功能目前不受支持:

  • 色彩配置文件

错误兼容性

  • Aseprite支持索引颜色文件的混合模式,但在导出图像时忽略它们。由asefile构建的图像目前与编辑器中的预览相匹配。

  • Aseprite在其亮度和颜色混合模式中存在错误。由于这与编辑器和导出文件中的情况相同,因此asefile复现了此错误。(如果Aseprite修复此错误,则asefile将根据生成文件的版本修复此错误。)

依赖项

~2MB
~35K SLoC