#png #image #high-level #text-image #builder #generate #color

bin+lib image-builder

Image Builder 是一个高级库,使用 image crate 作为引擎生成 PNG 图像,但具有便利性和简单性。

15 个版本 (2 个稳定版)

1.0.2 2024 年 8 月 20 日
1.0.0 2023 年 4 月 7 日
0.5.2 2023 年 4 月 6 日
0.4.0 2023 年 4 月 5 日
0.1.2 2023 年 1 月 2 日

#252 in 图像

Download history 1/week @ 2024-05-16 2/week @ 2024-07-18 7/week @ 2024-07-25 97/week @ 2024-08-15

每月 105 次下载
用于 spreadsheet-maker

MIT 许可证

140KB
374

Image Builder 是一个高级库,使用 image crate 作为引擎生成简单的 PNG 图像,但具有便利性和简单性。

文档


示例

下面的代码生成了 README.md 文件顶部的图像。

use std::fs;

use image_builder::{colors, FilterType, Image, Picture, Rect, Text};

fn main() {
    let width = 600;
    let height = 280;
    let mut image = Image::new(width, height, colors::GRAY);

    let roboto_bold = fs::read("fonts/Roboto/Roboto-Bold.ttf").unwrap();

    image.add_custom_font("Roboto bold", roboto_bold);

    image.add_rect(
        Rect::new()
            .size(width - 10, height - 10)
            .position(5, 5)
            .color(colors::PURPLE),
    );

    image.add_rect(
        Rect::new()
            .size(width - 30, height - 30)
            .position(15, 15)
            .color(colors::GRAY),
    );

    image.add_picture(
        Picture::new("logo.png")
            .resize(134, 83, FilterType::Triangle)
            .crop(41, 143, 536, 332)
            .position(233, 30),
    );

    image.add_text(
        Text::new("Image Builder")
            .size(90)
            .font("Roboto bold")
            .position(60, 125)
            .color([0, 0, 0, 100]),
    );

    image.add_text(
        Text::new("Image Builder")
            .size(90)
            .font("Roboto bold")
            .position(55, 120)
            .color(colors::PURPLE),
    );

    image.add_text(
        Text::new("This image was built using this library.")
            .size(30)
            .position(80, 220)
            .color(colors::ORANGE),
    );

    image.save("example.png");
}

依赖项

~14MB
~248K SLoC