C#给图片加文字水印
public class TxtWaterMark{public enum WaterPositionMode{LeftTop,//左上LeftBottom,//左下RightTop,//右上RightBottom,//右下Center,//中间Other//其他,若选此项AddWaterText方法内自己把xValue和yValue穿进去 }/// <summary>/// 给图片加文字水印/// </summary>/// <param name="oldpath">图片地址</param>/// <param name="savepath">加上文字水印以后图片保存地址</param>/// <param name="watertext">水印文字</param>/// <param name="position">水印位置</param>/// <param name="fontName">水印文字字体</param>/// <param name="fontSize">水印文字大小</param>/// <param name="color">水印文字颜色</param>/// <param name="alpha">水印文字透明度</param>/// <param name="isBold">水印文字是否加粗</param>/// <param name="xValue">水印位置position Other选项下设置</param>/// <param name="yValue">水印位置position Other选项下设置</param>public static void AddWaterText(string oldpath, string savepath, string watertext, WaterPositionMode position, string fontName, int fontSize, string fontColor, int alpha, bool isBold, float xValue = 0, float yValue = 0){Image image = Image.FromFile(oldpath);Bitmap bitmap = new Bitmap(image.Width, image.Height);Graphics graphics = Graphics.FromImage(bitmap);graphics.Clear(Color.White);graphics.DrawImage(image, new Rectangle(0, 0, image.Width, image.Height), 0, 0, image.Width, image.Height, GraphicsUnit.Pixel);Font font = new Font(fontName, fontSize, FontStyle.Bold);if (!isBold){font = new Font(fontName, fontSize);}SizeF ziSizeF = new SizeF();ziSizeF = graphics.MeasureString(watertext, font);float x = 0f;float y = 0f;switch (position){case WaterPositionMode.LeftTop:x = ziSizeF.Width / 2f;y = 0f;break;case WaterPositionMode.LeftBottom:x = ziSizeF.Width / 2f;y = image.Height - ziSizeF.Height;break;case WaterPositionMode.RightTop:x = image.Width * 1f - ziSizeF.Width / 2f;y = 0f;break;case WaterPositionMode.RightBottom:x = image.Width - ziSizeF.Width;y = image.Height - ziSizeF.Height;break;case WaterPositionMode.Center:x = image.Width / 2;y = image.Height / 2 - ziSizeF.Height / 2;break;case WaterPositionMode.Other:x = xValue + ziSizeF.Width / 2f;y = yValue;break;}try{StringFormat stringFormat = new StringFormat { Alignment = StringAlignment.Center };SolidBrush solidBrush = new SolidBrush(Color.FromArgb(alpha < 0 ? 0 : alpha, 0, 0, 0));graphics.DrawString(watertext, font, solidBrush, x + 1f, y + 1f, stringFormat);SolidBrush brush = new SolidBrush(Color.FromArgb(alpha < 0 ? 0 : alpha, ColorTranslator.FromHtml(fontColor)));graphics.DrawString(watertext, font, brush, x, y, stringFormat);solidBrush.Dispose();brush.Dispose();bitmap.Save(savepath, ImageFormat.Png);}catch (Exception e){}finally{bitmap.Dispose();image.Dispose();}}}
转载于:https://www.cnblogs.com/blazeZzz/p/9558050.html
C#给图片加文字水印相关推荐
- PHP实现给图片加文字水印
PHP实现给图片加文字水印 一.开发环境 1.Windows+Apache+MySQL+PHP的环境. 2.文本编辑器:Sublime. 二.主要技术 PHP+HTML+CSS 三.效果图与具体步骤 ...
- Java图片加文字水印
Java图片加文字水印 import java.awt.Color; import java.awt.Font; import java.awt.Graphics; import java.awt.I ...
- 阿里云 OSS 对象存储 OSS 图片加文字水印
阿里云 OSS 对象存储 实际开发需先阅读 阿里云 [OSS快速入门文档](https://help.aliyun.com/document_detail/31883.html?spm=5176.20 ...
- JAVA - base64图片加文字水印
场景为:前端传入转码后的base64图片字符串,后台加水印并转为图片,再上传 使用postman调试接口时,总会出现400bad request的情况 若是把图片转码的base64编码放在header ...
- cairo和pixman库给bmp图片加文字水印
两个步骤 1,用cairo库来生成一个图片,然后在上面把文字写到图片上 主要用到 cairo_image_curface_surface_create,生成一个空白的图(为了把文字向上写) cairo ...
- python显示gif图片_Python给gif图片加文字水印
为了成批地给图像增加水印,我们这里用到了枕头模块.它的英文名为pillow.安装它的方式为用cmd命令打开DOS提示符窗口,然后输入pip install pillow即可.就像下面这样: pytho ...
- html位置插入透明动画文字,视频加移动水印 视频添加图片加文字水印 设置透明漂浮移动并控制显示时间...
有没有小伙伴平时在看一些视频的时候,视频里会有一张图片然而图片里面有文字,然后是透明的图片,并且还漂浮移动在视频画面里,过了一会儿就自动消失了.这也是一直添加水印的方法,不过是把图片设置了半透明的样子 ...
- java tif格式图片_java给tif格式图片加文字水印?
展开全部 package com.coderli.image; import java.awt.Color; import java.awt.Font; import java.awt.Graphic ...
- java图片加文字水印_JAVA实现图片的修改,添加文字水印效果
JAVA实现图片的修改,添加文字水印效果,根据文字内容生成图片,下面是具体的代码,以及测试方法: 实现类: package JavaMoImage; import javax.p_w_picpathi ...
- php 文字水印换行,thinkPHP5图片加文字水印实现换行的方法
原有的添加文字的代码: Image::open(ROOT_PATH . "1.jpg") ->text("斯巴奴男装狐狸毛领中长款加厚asdasdsadasdasd ...
最新文章
- leetcode-386 字典序排数
- TensorFlow、Numpy中的axis的理解
- 设计模式 — 结构型模式 — 外观模式
- debian linux修改语言,Debian Linux系统下英文系统切换为中文
- tkinter中的canvas的边框问题
- 酷炫,用Html5/CSS实现文字阴影
- ApacheBench~网站性能测试工具
- 谈谈jdmailgate邮件wg在企业中的角色扮演
- Scratch-Q版三国小人物角色素材分享,值得您的收藏!
- 100kW以上 中高频感应加热电源 双DSP数字式IGBT控制板
- 计算机画图怎样更改文字,一招教你利用画图工具修改图片上的文字
- 《金山词霸2009 牛津版》插件工具加载
- 404是什么意思,404错误页面有什么用?
- 处理 /home/china/.vimrc 时发生错误: 第1行: E492: 不是编辑器的命令
- 南卡OE Pro上线!开放式耳机新里程碑!前所未有的音质舒适双冠
- PyTorch RuntimeError: size mismatch, m1:
- Github每日精选(第48期):SQLite下的知识库memos
- 2022.10.10 英语背诵
- VMware-ovftool命令行部署与导出镜像
- 记canvas画笔笔迹的多次优化过程