news 2026/10/2 19:39:33

脚本 生成图片水印

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
脚本 生成图片水印

功能,给巡逻地点加上图片水印。

若需要定制字体,自行修改绘画逻辑。

#!/bin/bash # ================= 字体设置 ================= # 自动寻找安卓或Linux中文字体 FONT_PATH="" possible_fonts=( "/system/fonts/NotoSansCJK-Regular.ttc" "/system/fonts/DroidSansFallback.ttf" "/usr/share/fonts/opentype/noto/NotoSansCJK-Regular.ttc" "/usr/share/fonts/wqy-zenhei/wqy-zenhei.ttc" ) for font in "${possible_fonts[@]}"; do if [ -f "$font" ]; then FONT_PATH="$font" break fi done [ -z "$FONT_PATH" ] && FONT_PATH="sans-serif" # 找不到这就回退 # =========================================== command -v magick >/dev/null || { echo "请先安装: pkg install imagemagick"; exit 1; } read -p "请输入图片路径: " image_path [ -f "$image_path" ] || { echo "文件不存在"; exit 1; } # === 获取图片宽度,计算比例 === width=$(magick identify -format "%w" "$image_path") # 计算字号 (根据图片宽度动态调整) # 时间大字: 18% 宽度 fs_time=$(echo "$width * 0.18" | bc | cut -d. -f1) # 日期小字: 4.5% 宽度 fs_meta=$(echo "$width * 0.045" | bc | cut -d. -f1) # 右下角Logo字: 3.5% 宽度 fs_logo=$(echo "$width * 0.035" | bc | cut -d. -f1) # 间距控制 margin_bottom=$(echo "$width * 0.08" | bc | cut -d. -f1) # 整体离底部的距离 icon_size=$(echo "$fs_meta * 1.2" | bc | cut -d. -f1) # 红色图标大小 logo_icon_size=$(echo "$fs_logo * 1.5" | bc | cut -d. -f1) # 相机图标大小 # === 文本内容 === current_time=$(date +"%H:%M") current_date=$(date +"%Y-%m-%d") # 中文星期处理 week_num=$(date +"%u") case $week_num in 1) w="一";; 2) w="二";; 3) w="三";; 4) w="四";; 5) w="五";; 6) w="六";; 7) w="日";; esac date_str="$current_date 星期$w" location_str="上海市 · 静安区" # 输出文件名 dir=$(dirname "$image_path") filename=$(basename "$image_path") output_file="$dir/${filename%.*}_水印V2.jpg" echo "正在生成完美水印..." # ================= 图像处理逻辑 ================= # 这里的逻辑是: # 1. 制作 [红点图标]:在 100x100 的固定画布上画,然后缩放到文字高度。 # 2. 制作 [相机图标]:同上,固定画布画好,再缩放。 # 3. 拼接 [日期+红点+地点]:横向拼接。 # 4. 组合 [时间] 和 [上面那行]:纵向叠加。 # 5. 合成到底图。 magick "$image_path" \ \ \( \ \ \( -background none -fill white -font "$FONT_PATH" -pointsize "$fs_time" label:"$current_time" \) \ \ \( \ \( -background none -fill white -font "$FONT_PATH" -pointsize "$fs_meta" label:"$date_str " \) \ \ \( -size 100x100 xc:none -fill "#FF2222" \ -draw "circle 50,40 50,75" \ -draw "path 'M 20,45 L 50,100 L 80,45 Z'" \ -draw "circle 50,40 50,50" \ -resize x"$icon_size" \) \ \ \( -background none -fill white -font "$FONT_PATH" -pointsize "$fs_meta" label:" $location_str" \) \ \ -gravity Center +append \ \) \ \ -gravity Center -append -background none \ \) \ -gravity South -geometry +0+"$margin_bottom" -composite \ \ \( \ \( -size 100x100 xc:none -stroke white -strokewidth 8 -fill none \ -draw "roundrectangle 5,20 95,80 10,10" \ -stroke none -fill white \ -draw "circle 50,50 50,65" \ -draw "rectangle 70,25 85,35" \ -resize x"$logo_icon_size" \ \) \ \( -background none -fill white -font "$FONT_PATH" -pointsize "$fs_logo" label:" 水印相机" \) \ -gravity Center +append \ \) \ -gravity SouthEast -geometry +"$(($width/30))"+"$(($width/40))" -composite \ \ "$output_file" echo "✅ 完成!请查看: $output_file"
版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/10/1 23:42:45

Milkdown终极指南:10分钟快速上手插件化Markdown编辑器

Milkdown终极指南:10分钟快速上手插件化Markdown编辑器 【免费下载链接】milkdown 🍼 Plugin driven WYSIWYG markdown editor framework. 项目地址: https://gitcode.com/GitHub_Trending/mi/milkdown Milkdown是一款插件驱动的所见即所得Markdo…

作者头像 李华
网站建设 2026/10/2 2:48:35

Gitee DevOps:信创生态下的企业数字化转型新引擎

Gitee DevOps:信创生态下的企业数字化转型新引擎 在数字化转型浪潮席卷全球的当下,国产DevOps平台正迎来前所未有的发展机遇。作为国内领先的一站式DevOps解决方案,Gitee DevOps凭借其全栈信创适配能力和安全高效的研发流程,正在成…

作者头像 李华
网站建设 2026/10/1 19:55:45

终极指南:如何使用Nools规则引擎实现智能决策系统

终极指南:如何使用Nools规则引擎实现智能决策系统 【免费下载链接】nools Rete based rules engine written in javascript 项目地址: https://gitcode.com/gh_mirrors/no/nools 在现代软件开发中,业务逻辑的复杂性和变化性给开发者带来了巨大挑战…

作者头像 李华
网站建设 2026/10/1 18:10:59

助力AI+医疗诊断 东软荣获广东省科技进步一等奖

近日,由华南理工大学牵头,东软集团等多家单位参与完成的“面向恶性肿瘤的人工智能诊断关键技术及其产业化应用”项目,荣获广东省科技进步一等奖。这标志着我国在AI医疗交叉领域,尤其是恶性肿瘤智能诊断方面取得了重要突破&#xf…

作者头像 李华
网站建设 2026/10/1 5:18:39

COMSOL相控阵超声仿真:phased_array_focus与压力声学模块的mph文件

comsol相控阵超声仿真 phased_array_focus 压力声学模块 mph文件相控阵超声在工业检测领域属于高端玩法,这种技术能像魔法师控制声波方向一样精准定位缺陷。不过真要在COMSOL里玩转这个,得先搞明白怎么让一群换能器协同工作——就像指挥交响乐团&#xf…

作者头像 李华
网站建设 2026/10/2 16:33:35

3分钟掌握VoxCPM:零基础搭建专业级语音克隆系统

3分钟掌握VoxCPM:零基础搭建专业级语音克隆系统 【免费下载链接】VoxCPM-0.5B 项目地址: https://ai.gitcode.com/OpenBMB/VoxCPM-0.5B 在当今数字化时代,语音克隆和开源TTS技术正以前所未有的速度改变着内容创作和语音交互的格局。想象一下&…

作者头像 李华