#image #film #borders #photography #border #photo #35mm

bin+lib filmborders

为您的图像添加复古电影边框 :)

9 个版本

0.0.32 2022 年 10 月 7 日
0.0.31 2022 年 10 月 7 日
0.0.25 2022 年 9 月 5 日
0.0.24 2022 年 8 月 29 日

图像 中排名 #330

自定义许可证

1.5MB
6K SLoC

WASM 中的 Film Borders

如果您使用的是现代浏览器,您可以使用此处的实时 WASM 网页版本 这里

安装

您可以使用使用 WASM 的 网络应用 或 CLI 工具进行批量处理。

要安装 CLI,运行

cargo install filmborders --bin film-borders

对于本地测试,您也可以安装当前版本到本地

cargo install --bin film-borders --path .

基准测试

sudo apt install linux-tools-common linux-tools-generic linux-`tools-name -r`
cargo install flamegraph
sudo cargo flamegraph -o my_flamegraph.svg -- apply --image ./samples/sample1.jpg --output ./output/sample1.png --border 0 --scale 1.00

用法

film-borders --image ~/Downloads/testscan.jpg --width 2000 --height 1500 --border 10 --rotate 90

有关选项列表,请参阅

film-borders --help

代码风格检查

cargo clippy --tests --benches --examples --all-features -- -Dclippy::all -Dclippy::pedantic

待办事项

  • 代码风格检查

  • 添加渲染文本

  • 考虑:在哪里使用 into,在哪里可以通过引用传递

  • 添加单个简单基准测试

  • 将基准测试数据以 JSON 或其他格式输出

  • 通过 GitHub Actions 创建性能跟踪器

  • 添加完整的集成测试套件,以检查预期输出

    • 应测试:不同文件格式
    • 应测试:所有边框填充模式
    • 应测试:单个图像和多个图像
    • 应测试:不同的边框配置集合
  • 尽可能使用 impls

  • 内联一切

  • 添加更多基准测试

  • 添加文档

  • 添加更多测试

  • 添加示例

  • 更新网站

  • 使用泛型图像后端

完成

  • lib 和边框的错误处理
  • 实现更多类型的算术错误
  • 使错误更细致,例如,它们来自哪个操作
  • 将回溯添加到所有错误类型
  • 在 wasm 目标上时,使调试语句在控制台中记录
  • 添加图像构建器,以便更容易设置路径
  • 裁剪边应该真正只用于用户右侧?
  • 子图像矩形也可以直接通过裁剪返回一个可变子图像吗?
  • 考虑:在哪里使用图像矩形
  • 对所有操作进行检查
  • 实现缩放边框模式(不复杂)
  • 将类型拆分到多个文件中
  • 裁剪以适应应返回矩形吗?
  • 编写一个 clamp 特征
  • 代码风格检查
  • 删除 apply 子命令
  • 使边框可选
  • 允许自定义边框图片(命令行界面、库和Web)
  • 制作精美的UI组件
  • 自定义背景颜色

依赖项

~33MB
~472K SLoC