C#-WebForm-★ 上传水印图片 ★
上传水印图片就是一个选择图片、添加水印、进行上传的过程
绘制图片需要准备:
画布 - 大小
笔 - 颜色、粗细、样式
用什么字体
要画什么(李献策lxc)
步骤:
一、引用 System.Drawing 命名空间
二、设置<上传>按钮点击事件
1、判断是否选中文件
//判断是否选中文件,如果未选中则提示并跳出代码
if (FileUpload1.FileName.Length <= )
{
Response.Write("<script>alert('未选中任何文件!');</script>");
return;
}
2、准备画布,即要加水印的图片
//准备画布,即要加水印的图片
System.Drawing.Image img = System.Drawing.Image.FromStream(FileUpload1.FileContent);
3、绘制 Graphics
//进行绘制
Graphics g = Graphics.FromImage(img);//要绘制的图片 string s = "2017年,鸡年大吉!";//要添加的文字水印
Font f = new Font("微软雅黑", );//文字的字体和大小
Brush b = new SolidBrush(Color.Red);//画刷的颜色
PointF p = new PointF(, );//水印起始坐标 g.DrawString(s,f,b,p);//进行绘制
4、进行保存
//保存图片
string Rpath = "Images/" + DateTime.Now.ToString("yyyyMMddhhmmssms") + FileUpload1.FileName;
img.Save(Server.MapPath(Rpath));
5、设置 Image 控件显示水印图片
//设置Image控件显示图片
Image1.ImageUrl = Rpath;

完整代码:
//<上传>按钮点击事件
void Button1_Click(object sender, EventArgs e)
{
//判断是否选中文件,如果未选中则提示并跳出代码
if (FileUpload1.FileName.Length <= )
{
Response.Write("<script>alert('未选中任何文件!');</script>");
return;
} //准备画布,即要加水印的图片
System.Drawing.Image img = System.Drawing.Image.FromStream(FileUpload1.FileContent); //进行绘制
Graphics g = Graphics.FromImage(img);//要绘制的图片 string s = "2017年,鸡年大吉!";//要添加的文字水印
Font f = new Font("微软雅黑", );//文字的字体和大小
Brush b = new SolidBrush(Color.Red);//画刷的颜色
PointF p = new PointF(, );//水印起始坐标 g.DrawString(s, f, b, p);//进行绘制 //保存图片
string Rpath = "Images/" + DateTime.Now.ToString("yyyyMMddhhmmssms") + FileUpload1.FileName;
img.Save(Server.MapPath(Rpath)); //设置Image控件显示图片
Image1.ImageUrl = Rpath;
}
绘制图片加水印-<上传>按钮代码
C#-WebForm-★ 上传水印图片 ★的更多相关文章
- thinkphp 3.2.3整合ueditor 1.4,给上传的图片加水印
今天分享一下thinkphp 3.2.3整合ueditor 1.4,给上传的图片加水印.博主是新手,在这里卡住了很久(>_<) thinkphp 3.2.3整合ueditor 1.4 下载 ...
- MVC&WebForm对照学习:文件上传(以图片为例)
原文 http://www.tuicool.com/articles/myM7fe 主题 HTMLMVC模式Asp.net 博客园::首页:: :: :: ::管理 5 Posts :: 0 ...
- 上传GIF图片方法!
有朋友问,如何上传GIF图片,在此做一下说明.方法是:在第二栏“上传图片”栏——选择“无水印”——选择文件(找到文件)——点击上传——点击插入——我选的图片 ——上传成功了!
- PHP之ThinkPHP框架(验证码、文件上传、图片处理)
验证码 验证码是框架自带有的,比之前使用GD库简单方便许多,其实现原理基本相似,都是生成图片,保存验证码值到Session中,表单提交验证码,然后进行值的对比验证. 简单的显示: <form ...
- ASP.NET、JAVA跨服务器远程上传文件(图片)的相关解决方案整合
一.图片提交例: A端--提交图片 protected void Page_Load(object sender, EventArgs e) { if (!IsPostBack) { string u ...
- 如何预览将要上传的图片-使用H5的FileAPI
这篇将要说的东西已经不新鲜了. 参考资料: Reading files in JavaScript using the File APIs (鉴于作者在美国, 我姑且认为作者母语是英语, 当然链接中有 ...
- js上传压缩图片
原文链接:http://blog.csdn.net/iefreer/article/details/53039848 手机用户拍的照片通常会有2M以上,这对服务器带宽产生较大压力. 因此在某些应用下( ...
- php 实现接收客户端上传的图片
今天,遇到一个服务端接收客户端上传图片的需求,经过学习.我写了个简单的demo 以备下次学习. 首先服务器接收的发送图片的请求一定要是post请求,而且请求一定要加上 enctype="mu ...
- KindEditor上传本地图片在ASP.NET MVC的配置
http://www.cnblogs.com/upupto/archive/2010/08/24/1807202.html 本文解决KindEditor上传本地图片在ASP.NET MVC中的配置. ...
随机推荐
- 嵌入式Linux驱动学习之路(三)u-boot配置分析
u-boot配置流程分析 执行make tiny4412_config后,将会对u-boot进行一些列的配置,以便于后面的编译. 打开顶层目录下的Makefile,查找对于的规则tiny4412_co ...
- Eclipse 搜索插件 instasearch
http://marketplace.eclipse.org/content/instasearch
- splay总结
以此文纪念人生首次竞赛大选 这里主要讲一讲splay的区间操作,我讲的是指针实现,程序的效率可能比较低,更偏重代码的可读可写性,语言风格不是很优美有效,不喜勿喷 零.初始化结构体 1)这里主要是初始化 ...
- HTML标签用法
<!DOCTYPE> 声明必须位于 <html> 标签之前.它不是 HTML 标签:它是指示 web 浏览器关于页面使用哪个 HTML 版本进行编写的指令. 信息输入标签:in ...
- 报错问题:InnoDB: Error: log file ./ib_logfile0 is of different size
InnoDB: Error: log file ./ib_logfile0 is of different size bytesInnoDB: than specified in the .cnf f ...
- Python自动补全
转自:http://blog.linuxeye.com/324.html Python自动补全有vim编辑下和python交互模式下,下面分别介绍如何在这2种情况下实现Tab键自动补全. 一.vim ...
- SharePoint 2013:自定义ECB菜单项的添加
本文分别介绍了两种常用的添加ECB菜单项的方式. 声明式创建 这也是微软最佳实践推荐的方式.在VS中创建一个SharePoint空解决方案,并添加一个“空元素”类型的SPI. 在Elements.xm ...
- Padrino 博客开发示例
英文版出处:http://www.padrinorb.com/guides/blog-tutorial 楼主按 拿作者自己的话说:Padrino(谐音:派骓诺)是一款基于Sinatra的优雅的Web应 ...
- java:如何让程序按要求自行重启?
正文开始前的废话: 这里的程序即包括b/s的web application,也包括standalone的类c/s的java application. 为什么要自我重启? 场景1:分布式环境中, ...
- Hibernate hbm2ddl.auto DDL语句 控制台输出的配置
在开发中我们需要知道hbm2ddl.auto生成的SQL语句,来判断代码的正确性,现在记录配置的过程. Hibernate的DDL语句在控制台的输出配置: 一.在lib中确保只有下面的三个相关包:1) ...