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

使用rust给图片增加文字的更多相关文章

  1. 利用html5canvas给图片增加文字水印

    <!DOCTYPE html><html><head><meta http-equiv="Content-Type" content=&q ...

  2. 用java实现给图片增加图片水印或者文字水印(也支持视频图像帧添加水印)

    javaCV图像处理系列: javaCV图像处理之1:实时视频添加文字水印并截取视频图像保存成图片,实现文字水印的字体.位置.大小.粗度.翻转.平滑等操作 javaCV图像处理之2:实时视频添加图片水 ...

  3. IOS给图片增加水印(图片、文字)

    在网上发现很多人使用 CGContextDrawImage(context,CGRectMake(0,0,self.width,self.height),[image CGImage]); //原图  ...

  4. javaCV开发详解之4:转流器实现(也可作为本地收流器、推流器,新增添加图片及文字水印,视频图像帧保存),实现rtsp/rtmp/本地文件转发到rtmp流媒体服务器(基于javaCV-FFMPEG)

    javaCV系列文章: javacv开发详解之1:调用本机摄像头视频 javaCV开发详解之2:推流器实现,推本地摄像头视频到流媒体服务器以及摄像头录制视频功能实现(基于javaCV-FFMPEG.j ...

  5. iOS开发富文本制作 图片和文字/NSMutableParagraphStyle/NSMutableAttributedString

    /NSMutableParagraphStyle/NSMutableAttributedString 组合使 NSString * titlestr=@"日产GT-R"; NSMu ...

  6. 如何将word中的图片和文字导入自己的博客中

    目前大部分的博客作者在用Word写博客这件事情上都会遇到以下3个痛点: 1.所有博客平台关闭了文档发布接口,用户无法使用Word,Windows Live Writer等工具来发布博客.使用Word写 ...

  7. 阿里云ali-oss图片增加水印

    先附上文档连接 : https://helpcdn.aliyun.com/document_detail/44957.html 水印文字或图片必须经过一下转化 URL安全的Base64位编码 在图片处 ...

  8. WPF_界面_图片/界面/文字模糊解决之道整理

    原文:WPF_界面_图片/界面/文字模糊解决之道整理 版权声明:本文为博主原创文章,未经博主允许不得转载. https://blog.csdn.net/u010265681/article/detai ...

  9. 用CSS如何实现单行图片与文字垂直居中

    图片样式为 以下为引用的内容:.style img{vertical-align:middle;.....} 如果STYLE中有其它如INPUT或其它内联元素可写成 以下为引用的内容:.style i ...

  10. 【Python】批量给图片增加水印工具

    背景 最近有一些图片需要增加水印,找了一圈也没看见比较好的工具,又不想用破解的PS,干脆自己做了一个GUI工具,有需要的同学自取 功能 支持水印预览 自定义水印文字内容 支持行楷和微软雅黑两种字体 支 ...

随机推荐

  1. element-ui和ant-design-vue 数字输入框只能输入大于等于1的整数

    限制输入的是大于等于1的整数 <template> <div> <h1>ant-design-vue 1.xx</h1> <a-input-num ...

  2. 什么是swagger,一篇带你入门

    一.前言 在前后端分离开发的过程中,前端和后端需要进行api对接进行交互,就需要一个api规范文档,方便前后端的交互,但api文档不能根据代码的变化发生实时动态的改变,这样后端修改了接口,前端不能及时 ...

  3. Towards Accurate Alignment in Real-time 3D Hand-Mesh Reconstruction论文解读

    Towards Accurate Alignment in Real-time 3D Hand-Mesh Reconstruction论文解读 这是发表在ICCV2021的一篇文章,主要的工作内容是R ...

  4. [源码系列:手写spring] IOC第十一节:Aware接口

    内容介绍 Aware简洁 在Spring框架中,Aware接口是一个非常有用的工具,用于实现Bean与Spring容器及其他资源之间的集成.Aware接口是一个标记接口,其中定义了各种Aware子接口 ...

  5. cnpack导致view快捷键失灵。

    学习d10.3.出现怪问题: 卸载cnpack出现: 这下要用快捷键了.那可不烦透了. 如此就ok了. 鸡蛋好吃,还要知道母鸡如何生蛋的?

  6. cpp简单总结

    1.简述智能指针的特点,简述new和malloc的区别. shared_ptr,显现共享式特点,多个同类型的shared指针可以共享一个对象,当持有者的计数归0,shared_ptr指向的指针就会被释 ...

  7. exe4j工具使用-jar包转exe可执行文件

    exe4j介绍 exe4j可以将java打包的jar包转为exe可执行文件,实现在没有jdk环境下运行jar包. 下载链接 https://pan.baidu.com/s/1sfEJyxPABmhsl ...

  8. P5490 【模板】扫描线 & 矩形面积并 做题笔记

    扫描线是一种很常用的 trick,用来计算矩形并周长.并面积.核心思路是使用标记永久化 + 线段树,直接引用朴素的做法,即从某一维度开始扫描并将经过的面积加和. 错误 upd 函数中的汇总不正确,要想 ...

  9. Java+Selenium+Junit实现web自动化demo

    1.新建maven工程 打开IDEA新建maven项目并引入相关依赖,步骤如下: 需要引入的依赖 <dependencies> <dependency> <groupId ...

  10. WO Mic - 免费麦克风

    WO Mic可以将您的手机变成电脑麦克风.您无需支付一分钱购买任何设备.如果您选择无线传输,它也是便携的.数百万用户已经安装并每天都在使用它进行通话.录音.语音遥控等活动. 三大组件协同工作以实现这一 ...