#image #border #frame #command-line-tool #graphics

bin+lib oliframe

为一张或多张图片添加简单边框

8个版本

新版本 0.1.7 2024年8月19日
0.1.6 2024年7月1日
0.1.5 2024年4月29日
0.1.2 2024年2月27日
0.1.1 2024年1月25日

#992命令行工具

Download history 14/week @ 2024-05-03 4/week @ 2024-05-17 2/week @ 2024-05-24 142/week @ 2024-06-28 32/week @ 2024-07-05 26/week @ 2024-07-26 3/week @ 2024-08-02 130/week @ 2024-08-16

每月下载量 159

MIT 许可证

26KB
426

oliframe

oliframe crates.io docs.rs MIT license

oliframe 是一个简单的命令行工具,用于给图片添加边框。它可以一次处理一张图片或多个目录。

安装

命令行使用

cargo install oliframe

库使用

虽然这个项目的目的是提供一个命令行工具,但底层库也可以在其他项目中使用。

cargo add oliframe

命令行使用

选项 描述
-f, --file <FILENAME> 一个或多个输入文件
-d, --dir <DIR> 搜索输入文件的目录
-R, --recursive 在指定的目录中递归搜索输入文件
--x, --extension <FMT> 接受输入文件的文件扩展名
--o, --output <DEST> 输出目的地
--p, --prefix <PREFIX> 输出文件前缀
--s, --suffix <SUFFIX> 输出文件后缀
--C, --pct <%WIDTH> 边框宽度为平均尺寸的百分比,即:(宽度 + 高度) / 2.0。 [默认:5]
--X, --px <PIXELS> 边框宽度(像素),默认为0(禁用)
--c, --color <COLOR> 边框颜色,任何有效的CSS颜色值 [默认:白色]
-r, --radius <RADIUS> 边角半径(以像素为单位;需要 --px)
-, --verbose 详细输出
-, --quiet 静默输出 -- 除了错误外,抑制所有输出
--dry-run 试运行(实际上不创建输出文件)
-, --overwrite 覆盖现有文件。默认情况下,如果未指定此标志,则在每个图像覆盖前都会要求确认
-, --help 打印帮助
-, --version 打印版本
# Add a default white border to all images in the current directory
oliframe
# Add a 20% black border to a single image
oliframe -w 20 -c black image.jpg
# Add a 10% white border to all images in a directory
oliframe -w 10 -c white -d images
# Add a default border to all images in a directory and save them with a new suffix
oliframe -s _bordered -d images

库使用

该库仅公开一个函数 add_border,它期望一个 &image::DynamicImage 作为输入,并返回一个应用了边框的新 image::DynamicImage。加载和保存图像由用户负责。

use oliframe::*;

fn main() {
    let img = image::open("image.jpg").unwrap();
    let bordered_img = add_border(&img, BorderWidth::Percent(5), "white", None);
    bordered_img.save("image_bordered.jpg").unwrap();
}

路线图/未来功能

  • 添加选项 (-W, --watch) 以监视目录中的更改,并自动为新图像添加边框

贡献

欢迎拉取请求。对于重大更改,请首先打开一个问题以讨论您想要更改的内容。

许可证

MIT

AI辅助开发

该项目是在AI辅助工具的帮助下开发的,包括ChatGPT和GitHub Copilot。这些工具在代码的各个方面做出了贡献,从生成初始代码片段到提供代码优化和错误修复的建议。虽然这些工具有助于开发过程,但该项目的开发和实现是作者的工作。

依赖

~7.5MB
~139K SLoC