使用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(())
}

posted @ 2025-05-20 12:20  看她闹~  阅读(76)  评论(0)    收藏  举报