当前位置: 首页 > news >正文

C#怎么实现图片添加水印 C#如何用代码在图片上添加文字水印和Logo图片水印【图像】

绘制文字水印需按图片短边3%~5%动态计算字号并校正DPI,启用AntiAliasGridFit抗锯齿,用Alpha控制透明度;Logo叠加须确保PNG带Alpha通道、保持宽高比缩放并及时Dispose;JPEG保存需指定高质量编码器与sRGB配置,批量处理须全程显式释放资源。用 Graphics 绘制文字水印时字体缩放容易失真直接用 Graphics.DrawString 往原图上画文字,看似简单,但常见问题是:小图上文字糊成一片、大图上又细得看不清。根本原因是没做 DPI 适配和字体大小归一化。别硬写固定字号(比如 new Font("Arial", 12)),改用相对尺寸:按图片短边的 3%~5% 计算字号,再用 graphics.DpiX 和 DpiY 校正开启抗锯齿:graphics.TextRenderingHint = TextRenderingHint.AntiAliasGridFit,否则中文边缘毛刺明显文字透明度靠 Color.FromArgb(100, 0, 0, 0) 控制 Alpha 值,别用 Brushes.Gray 这类不透明预设记得调用 graphics.TranslateTransform() 配合旋转,否则斜水印会切掉边缘叠加 Logo 图片水印必须处理透明通道和缩放比例直接 Graphics.DrawImage 贴 PNG Logo,常出现白底、锯齿、拉伸变形——本质是没区分图像类型和像素格式。源 Logo 必须是带 Alpha 通道的 PNG,加载后检查 logo.PixelFormat 是否含 Format32bppArgb缩放不用 DrawImage(destRect) 粗暴拉伸,改用 DrawImage(logosrc, destRect, srcRect, GraphicsUnit.Pixel) 并手动计算 srcRect 保持宽高比避免内存泄漏:Logo Bitmap 实例用完立即 Dispose(),尤其在循环加水印时如果目标图是 JPEG,叠加前先转成 PixelFormat.Format32bppArgb,否则透明区域会变黑Image.Save 保存时质量丢失严重保存后的水印图发灰、文字边缘泛白、Logo 边缘有光晕——八成是 JPEG 编码质量或颜色空间没控住。 幻导航网 发现优质实用网站,开启网络探索之旅!

http://www.jsqmd.com/news/684323/

相关文章:

  • 【从零到一】HTML表单<form>与<input>核心用法完全指南
  • 从STC12到STC8H:手把手教你用串口调试助手读取单片机唯一ID(附完整C51代码)
  • 收藏|2026年版 Java 程序员转型 AI 大模型开发,职业跃迁全攻略
  • 为什么说TikTokCommentScraper是评论数据采集的“智能收割机“?
  • [FastMCP设计、原理与应用-12]Provider——组件装载机,为框架按需配置功能单元与底层设施
  • 为什么你的.NET AI服务总在凌晨扩容?揭秘.NET 11 GC第4代分代压缩算法与推理负载的隐性冲突(附GC压力热力图诊断工具)
  • 避开这些坑!STM32G474读写FLASH时,关于保护、对齐和中断的避坑指南
  • 程序员AI进阶:边学边做的极速实战路径
  • 首发|OpenClaw首个TikTok爆款视频生成Skill,一只龙虾搞定爆款爆款短视频
  • 如何防止MongoDB副本集被误初始化_副本集名称(replSetName)锁定
  • 为什么你的虚拟线程没提速?——5个被90%团队忽略的关键配置:ForkJoinPool并行度、ScopedValue作用域、Loom调试开关…
  • 2026热镀锌桥架实测:口碑厂家专业解析与采购指南 - 外贸老黄
  • 485AI语音识别模块:多路语音控制,构建楼宇智能语音中控
  • C++基于STL的演讲比赛流程管理系统
  • 将军令云码动态口令源码|纯算法实现,离线生成Token,免依赖免联网
  • 拆解 AI Agent Harness Engineering 核心架构:大脑、感知与工具使用的完美闭环
  • 5分钟终极指南:用智能激活脚本永久激活Windows和Office
  • Anthropic MCP 设计漏洞可导致 RCE,威胁 AI 供应链安全
  • 大模型RAG (二)
  • 创新项目实训记录(三)
  • 有时候要说“我们团队“,而不是“我“
  • 2026年阿里云快速教程:怎么搭建OpenClaw?Coding Plan配置及大模型API Key设置
  • 哈希表记录
  • 终极指南:如何在Windows上零配置使用Poppler PDF处理工具
  • 揭秘PyTorch forward函数:从隐式调用到自定义模型的核心
  • 第22届智能车缩微组别的赛题形式建议
  • AI安全:多模态推理攻击与防御技术解析
  • JavaSE学习——类加载器和注解
  • 解决STM32H723双CAN通信的MessageRAM冲突:FDCAN1与FDCAN2独立滤波与FIFO配置指南
  • SPE(单对以太网):重塑工业与汽车网络的轻量化连接方案