Crates.io | ase-swatch |
lib.rs | ase-swatch |
version | 0.1.0 |
source | src |
created_at | 2021-09-04 08:46:20.880195 |
updated_at | 2021-09-04 08:46:20.880195 |
description | Create Adobe Swatch Exchange (ASE) Files for colors and palette |
homepage | https://github.com/blenderskool/ase-swatch |
repository | https://github.com/blenderskool/ase-swatch |
max_upload_size | |
id | 446750 |
size | 17,591 |
Rust and WebAssembly library to encode and create Adobe Swatch Exchange (ASE) files for colors and palettes.
This project is based on the swatch library by Marcos A Ojeda written in Python.
use ase_swatch::create_ase;
use ase_swatch::types::*;
let swatches = vec![
ObjectSwatch {
name: "Palette 1".to_string(),
swatches: vec![
ObjectColor {
name: "Red".to_string(),
object_type: ObjectColorType::Global,
data: Color {
mode: ColorMode::Rgb,
values: vec![1.0, 0.0, 0.0],
},
},
ObjectColor {
name: "Green".to_string(),
object_type: ObjectColorType::Global,
data: Color {
mode: ColorMode::Rgb,
values: vec![0.0, 1.0, 0.0],
},
},
ObjectColor {
name: "Blue".to_string(),
object_type: ObjectColorType::Global,
data: Color {
mode: ColorMode::Rgb,
values: vec![0.0, 0.0, 1.0],
},
},
],
}
];
let colors = vec![
ObjectColor {
name: "Blue".to_string(),
object_type: ObjectColorType::Global,
data: Color {
mode: ColorMode::Rgb,
values: vec![0.0, 0.0, 1.0],
},
},
];
let result: Vec<u8> = create_ase(&swatches, &colors);
// resulting vector of bytes can be written as a binary file
Prerequisite steps:
wasm-pack
with appropriate build target.The library exposes a create_ase_js()
function that can be called from JavaScript with a similar signature to create_ase
function.
const swatches = [
{
name: "Palette 1",
swatches: [
{
name: "Red",
object_type: "Global",
data: {
mode: "Rgb",
values: [1.0, 0.0, 0.0],
},
},
{
name: "Green",
object_type: "Global",
data: {
mode: "Rgb",
values: [0.0, 1.0, 0.0],
},
},
{
name: "Blue",
object_type: "Global",
data: {
mode: "Rgb",
values: [0.0, 0.0, 1.0],
},
},
],
},
];
let colors = [
{
name: "Blue",
object_type: "Global",
data: {
mode: "Rgb",
values: [0.0, 0.0, 1.0],
},
},
];
const result = create_ase_js(swatches, colors);
// resulting array is a `Uint8Array` of the created ASE file
ase-swatch is MIT Licensed