使用rust给图片增加文字
使用rust实现在图片上增加文字信息(水印)
[dependencies]
image = "0.25" # 图像读写与基础操作
imageproc = "0.25" # 图形绘制工具(含文字)
ab_glyph = "0.2" # 字体加载与矢量渲染
anyhow = "1.0" # 错误处理(可选)
use ab_glyph::{FontArc, PxScale};
use image::Rgba;
use imageproc::drawing;
// 使用示例
fn main() -> anyhow::Result<()> {
// 读取图片
let mut img = image::open(r"D:\1.jpg")?;
// 加载字体
let font_data = std::fs::read(r"C:\Users\windows\Font\msyh.ttc")?;
let font = FontArc::try_from_vec(font_data)?;
// 设置文字缩放
let scale = PxScale::from(48f32);
drawing::draw_text_mut(
&mut img, // 目标图像
Rgba([255, 0, 0, 250]), // 文字颜色(含透明度)
100, // X坐标起点
100, // Y坐标起点
scale, // 字体缩放比例
&font, // 字体对象
"Hello Rust! 你好",
);
img.save(r"D:\1_ok.jpg")?;
Ok(())
}