29个版本
0.6.11 | 2024年7月22日 |
---|---|
0.6.8 | 2024年4月2日 |
0.6.7 | 2023年11月3日 |
0.6.6 | 2023年4月13日 |
0.2.1 | 2017年6月9日 |
#35 in 图像
每月263次下载
36KB
456 行
Annatar
用于向图片添加文本的命令行工具
这个crate是以黑暗魔君索伦的名字命名的。这个名字来自昆雅语中的“赠予者”,其发音有点好笑,似乎几乎直接适用于这个情况。就像它所基于的库一样,这显然是用于制作邪恶的东西。
安装
访问 rustup.rs 下载Rust工具,然后通过cargo运行以下命令
cargo install annatar
使用方法
annatar foo.jpg \
--top "This text will appear near the top of the image." \
--middle "This text will appear near the middle of the image." \
--bottom "This text will appear near the bottom of the image."
按照惯例,-t
,-m
和 -b
也可用作参数。此外,还可以只提供一个位置参数作为标题,在这种情况下,标题作为 --bottom
的同义词,例如:
annatar foo.jpg "This text will appear near the bottom of the image."
图像可以是本地路径或URL;annatar乐于从互联网上为您获取图片。
注意:Linux通常不包含annatar默认字体Impact,如果不选择其他字体,将导致错误。为了避免这种情况,请将shell配置文件中的变量
ANNATAR_DEFAULT_FONT
设置。您可以随意选择您喜欢的字体。
注释大小
默认情况下,annatar根据图像本身的高度来设置用于标题的文本大小。用于此目的的确切算法是由梵蒂冈一周七天、一天24小时工作的科学家团队选定的,直到我们看到白烟,我们才让他们出来。据传,我们的文本缩放小组的成员只有在大多数成员饿死或被其他人打死之后才能达成一致,据你所知,这些传言是没有根据的。
重要的是,通常情况下,文本看起来应该是正常的。对于宽高比奇怪的图片(相对于高度来说要么非常宽,要么非常窄),文本可能看起来太大或太小。在这种情况下,或者在你更喜欢强调的情况下,你可能希望使用缩放倍数来传递-s --scale
标志。
annatar doge.png \
--scale 2.0 \
--top "SUCH BIG" \
--bottom "SO SCALE"
这个缩放倍数作为annatar选择的缩放值的乘数(令人惊讶的是)。所以,以2.0
缩放的文本将是正常情况下的两倍高(annatar按高度成比例缩放文本)。
注意:你可能发现像
2.0
这样的值在大多数情况下都过于夸张;我通常将缩放设置为大约30%—最多是0.7
或1.3
。
带内注释缩放
-s --scale
乘数被设置用于所有注释,顶部、中间和底部。为了允许不同大小的注释,提供了带内缩放格式。
annatar doge.png \
--top "this one is normal" \
--bottom "\1.3 this one is bigger!"
缩放修饰符(上面1.3
)和注释(这个更大
)之间的空白将被忽略。然而,需要一些间隔的空白。
注意:对于那些被病态的好奇心困扰的人,这里使用的正则表达式是:
\\(?P<scale>\d+(\.\d+)?)\s+(?P<caption>.+)
。
版权方保护
我们意识到像英国或欧盟这样的地方的法律可能不支持我们在美国所拥有的“合理使用”概念。这个程序明确旨在为了公平合理的批评和评论,创建派生和变换作品,但这可能不是你所在地区统治者所赋予你的权利。如果这是情况,我们鼓励你仅在设置了--rightsholder-protections
标志的情况下使用annatar。
在你的shell配置文件中创建一个类似以下的功能可能会有所帮助。以下功能是为PowerShell编写的。
<#
.SYNOPSIS
Invokes annatar with rightsholder protections enabled.
.DESCRIPTION
This function performs pass-through for all arguments passed to it and adds
the --rightsholder-protections flag in order to maintain compatibility with
non-US copyright law when using annatar.
.NOTES
Annatar may print alarming warnings when rightsholder protections are enabled.
Please ignore these. They will be addressed in a future release.
#>
function Invoke-Annatar {
annatar $args --rightsholder-protections
}
版本历史
- 0.5.7 允许通过环境变量选择默认字体
- 0.5.6 修复回归:缩放应该是可选的。
- 0.5.2 修复macOS字体问题
- 0.4.0 添加带内注释缩放
许可证
以下两种许可证中的任一种
- Apache License,版本2.0 (LICENSE-APACHE或https://apache.ac.cn/licenses/LICENSE-2.0)
- MIT许可证(LICENSE-MIT或http://opensource.org/licenses/MIT),任选其一。
贡献
除非你明确说明,否则任何有意提交并包含在作品中的贡献,根据Apache-2.0许可证定义,应双许可如上所述,没有任何附加条款或条件。
依赖项
~19–35MB
~604K SLoC