Hexo 文章图片添加水印,不用云处理
由于网上找到的都是借用第三方云处理添加水印,但是我不太想用,所以自己开发了一个插件
目前插件可以直接在 hexo 官网上搜索到
下面内容都是在 Github 上复制过来的,我的正式版博客目前挂载在我的 Github 仓库 blog
一款用于 Hexo 静态博客网站生成时对图片添加水印。
不对原图产生任何影响,在网站静态页构建过程中将原图读取,输出添加了水印的图片。
在构建的静态网站中不会存在原图,只存在水印图片。
原始文章图片

水印图片

一定要阅读最后的提示事项,包含现有版本的支持情况和即将添加的功能
使用 npm 安装插件
npm install hexo-images-watermark
在站点配置文件 _config.yml 中进行如下配置:
watermark:
enable: true
textEnable: true
rotate: -45
gravity: centre
在 hexo generate 运行时会自动为你的 _post 目录下的图片添加水印,新的图片将会放到 public 目录中对应的位置。
必备配置参数
enable
默认值:无
说明:true 将会执行图片添加水印,false 将会不执行添加
textEnable
默认值:false
说明:是否使用文本来添加水印(❌警告:目前不支持文本和图片同时添加水印)
imageEnable
默认值:false
说明:是否使用图片来添加水印(❌警告:目前不支持文本和图片同时添加水印)
其他参数
text
默认值:使用配置文件中的url,一旦url不存在直接显示作者名字(SpiritLing)
说明:当你使用的文字过长时,一旦转为图片后大于待加水印的图片尺寸,则会出现错误。
fontPath
默认值:undefined,使用 text-to-svg 自带字体
说明:自己加载需要的字体,支持单个字体文件,不区分中英文;如果纯中文,请只加载中文字体,例:需要加载 source/static/font/custom.ttf 字体直接将其写入到配置文件中即可
color
默认值:rgb(169,169,167)
说明:颜色可以使用 rgb,rgba,#xxxxxx以及red名字式的。⚠️只对text有效
gravity
默认值:southeast
说明:设置水印位置处于什么方向,以 上北下南左东右西 来确定
参数可用值:
| 类型 | 说明 | 备注 |
|---|---|---|
| centre | 中央 | 图片正中间 |
| north | 北 | 上方中间 |
| west | 东 | 左边中间 |
| south | 南 | 下边中间 |
| east | 西 | 右边中间 |
| northwest | 东北 | 左上角 |
| southwest | 东南 | 左下角 |
| southeast | 西南 | 右下角 |
| northeast | 西北 | 右上角 |
fontSize
默认值:18
说明:文本字体大小,⚠️只对text有效
watermarkImage
默认值:watermark.png
说明:水印图片,放置在source文件根路径的图片名称;⚠️大小不要超过任何一张文章中的图片,否则会出错,可以搭配缩放进行使用
width
默认值:50
说明:对图片进行缩放。⚠️只对image有效
height
默认值:50
说明:对图片进行缩放。⚠️只对image有效
rotate
默认值:0
说明:旋转角度,如45代表逆时针45度,-45代表顺时针45度
background
默认值:transparent
说明:配合text和rotate使用,指的是文字转成的图片一旦旋转会出现多余空白,设置这些地方的颜色,一般透明色即可
使用注意事项⚠️⚠️⚠️
- 文字不要过长过大,水印图片不要过大(太大可以使用缩放,⚠️但是缩放是全局性的),否则都会出现错误,终止生成静态页面
- 暂不支持图片和文字共同添加
- 目前只支持
*.jpg,*.jpeg,*.png两种格式图片,并且只支持source/_posts文件夹下的图片,也就是文章本地图片;同时也不支持远程图片 - 水印图片也不支持远程和非soucre根路径下的文件,也是只支持
*.jpg,*.jpeg,*.png两种格式图片 - 不支持循环满图添加水印
- 请使用
1.1.x以上版本,1.0.x是进行Hexo api相关测试时使用的,版本杂乱无章,使用1.0.x版本出现任何问题,概不理会
TODO LIST
- [x] 文字水印
- [x] 自定义文字,颜色,大小
- [X] 自定义字体 - 2019-12-24 Done
- [ ] 支持循环添加
- [ ] 超限处理
- [x] 图片水印
- [X] 自定义水印图片
- [ ] 远程水印图片
- [ ] 支持循环添加
- [ ] 超限处理
- [x] 位置
- [x] 固定位置:九个方位
- [ ] 自定义 top,left
- [x] 旋转
- [x] 缩放(仅限图片)
- [ ] 其他格式支持
Hexo 文章图片添加水印,不用云处理的更多相关文章
- 神奇的canvas——巧用 canvas 为图片添加水印
代码地址如下:http://www.demodashi.com/demo/11637.html 很久之前写过一篇关于 canvas 的文章,是通过 canvas 来实现一个绚丽的动画效果,不管看过没看 ...
- Python Windows 快捷键自动给剪贴板(复制)图片添加水印
编写一个能在windows上使用的按下快捷键自动给剪贴板(复制)的图片添加水印的小工具.plyer.PIL.pyinstaller.pynput.win32clipboard库.记录自己踩过的坑,部分 ...
- Android 图片添加水印图片或者文字
给图片添加水印的基本思路都是载入原图,添加文字或者载入水印图片,保存图片这三个部分 添加水印图片: ? 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 ...
- java实现给图片添加水印
package michael.io.image; import java.awt.AlphaComposite; import java.awt.Graphics2D; import java.aw ...
- java.imageIo给图片添加水印
最近项目在做一个商城项目, 项目上的图片要添加水印①,添加图片水印;②:添加文字水印; 一下提供下个方法,希望大家可以用得着: package com.blogs.image; import java ...
- php解决微信文章图片防盗链
解决微信文章图片防盗链 function actionWechatImg() { header('Content-type: image/jpg'); $url = $_GET['url']; $re ...
- Python爬虫入门教程 26-100 知乎文章图片爬取器之二
1. 知乎文章图片爬取器之二博客背景 昨天写了知乎文章图片爬取器的一部分代码,针对知乎问题的答案json进行了数据抓取,博客中出现了部分写死的内容,今天把那部分信息调整完毕,并且将图片下载完善到代码中 ...
- Python爬虫入门教程 25-100 知乎文章图片爬取器之一
1. 知乎文章图片写在前面 今天开始尝试爬取一下知乎,看一下这个网站都有什么好玩的内容可以爬取到,可能断断续续会写几篇文章,今天首先爬取最简单的,单一文章的所有回答,爬取这个没有什么难度. 找到我们要 ...
- jQuery效果之封装一个文章图片弹出放大效果
首先先搭写一个基本的格式: $.fn.popImg = function() { //your code goes here } 然后用自调用匿名函数包裹你的代码,将系统变量以变量形式传递到插件内部, ...
随机推荐
- 【luoguP1533】可怜的狗狗
题目链接 发现区间按左端点排序后右端点也是单调的,所以扫一遍就行了,用权值线段树维护第\(k\)大 #include<algorithm> #include<iostream> ...
- Web中线程与IIS线程池自动回收机制
开发Web项目后,部署到 IIS上 ,运行一直稳定,当Web程序中加入了定时任务,或者线程之类的机制后,第二天发现悲催了,定时任务并没有执行,此时重新登录一下网站,定时任务又重新执行.原来IIS默认有 ...
- c语言之函数指针应用
c语言之函数指针应用 1.函数指针与指针函数 在开始运用函数指针前,我们需要将两个概念即:函数指针与指针函数搞清楚. 函数指针,指明这个一个函数,但返回值为指针类型,语法格式为: 类型名* 函数名A( ...
- 【2019年05月16日】A股最便宜的股票
查看更多A股最便宜的股票:androidinvest.com/CNValueTop/ 经典价值三因子选股: 市盈率PE.市净率PB 和 股息分红率,按照 1:1:1的权重,选择前10大最便宜的股票. ...
- c# 创建socket连接辅助类
using AD.SocketForm.Model; using NLog; using System; using System.Net; using System.Net.Sockets; nam ...
- 第四节:配置的读取、StartUp类、内置依赖注入和扩展改造
一. 配置的读取 在Asp.Net Core中,有一个 appsettings.json 文件,用于存储相应的配置信息,读取的时,要通过构造函数注入:IConfiguration Configurat ...
- Sitecore安全性第1部分:自定义角色和权限
安全性是任何Sitecore构建的重要组成部分.它可确保您的内容作者具有适当级别的访问权限,以管理他们拥有的内容,并授予他们访问不同Sitecore功能的权限. Sitecore附带了许多提供功能访问 ...
- go 学习笔记---chan
如果说 goroutine 是 Go语言程序的并发体的话,那么 channels 就是它们之间的通信机制.一个 channels 是一个通信机制,它可以让一个 goroutine 通过它给另一个 go ...
- - instanceof 和 isInstance 强转 类型 class MD
目录 目录 instanceof 和 isInstance 强转 类型 class MD 简介 测试案例 继承关系 测试代码 打印结果 Markdown版本笔记 我的GitHub首页 我的博客 我的微 ...
- - Gradle 翻译 Analyzer APK文件分析 MD
目录 目录 APK文件分析 使用 APK 分析器分析您的编译版本 查看文件和大小信息 查看 AndroidManifest.xml 查看 DEX 文件 过滤DEX文件树视图 加载 Proguard 映 ...