#path #texture #image #different #creation #fit #saving

texture-atlasser

使用各种选项轻松创建纹理图集,以满足不同需求

2 个版本

0.1.1 2021年4月25日
0.1.0 2021年4月24日

#18 in #saving

MIT/Apache

15KB
167 代码行(不包括注释)

使用各种选项轻松创建纹理图集,以满足不同需求。

提供了一种从路径列表或动态图像列表创建纹理图集的方法。

示例

将不同的图像加载到图集中,并在之后保存它们

use std::path::Path;
use texture_atlasser as ta;
fn main() -> Result<(), Box<dyn std::error::Error>>{
    let paths: Vec<&Path> = vec!(
        Path::new("image1.png"), 
        Path::new("image2.png"), 
        Path::new("image3.jpg"),
    );
    let options = ta::AtlasOptions { 
        width: 64,
        height: 64,
        margin: 5,
        max_atlantes: 2,
        try_smaller: None,
        cut_down: true,
    };
    // create the atlas
    let atlas = ta::atlas_paths(&paths, options)?;
    
    // save the atlantes
    for (i, image) in atlas.atlantes.iter().enumerate() {
        image.save(format!("atlas{}.png", i))?;
    }
    // Log the positions of the single textures inside the atlantes into the console
    for rect in atlas.rects.iter() {
        println!("{:?}", rect);
    }
    Ok(())
}

有关加载整个目录的图像的示例,请参阅示例文件夹。

依赖项

~5MB
~59K SLoC