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中的配置. ...
随机推荐
- 阿里云377秒完成100TB数据排序:秒三星百度
阿里云377秒完成100TB数据排序:秒三星百度 今日,Sort Benchmark 在官方网站公布了 2015 年排序竞赛的最终成绩.其中,阿里云用不到 7 分钟(377 秒)就完成了 100TB ...
- win7旗舰版 中文64位 产品密钥(序列号)
无需破解即可激活Windows 7旗舰版的"神Key". 第一枚"神Key":TFP9Y-VCY3P-VVH3T-8XXCC-MF4YK: 第二枚"神 ...
- 理解Java中字符流与字节流的区别
1. 什么是流 Java中的流是对字节序列的抽象,我们可以想象有一个水管,只不过现在流动在水管中的不再是水,而是字节序列.和水流一样,Java中的流也具有一个“流动的方向”,通常可以从中读入一个字节序 ...
- AlertDialog禁止返回键
android 如何让dialog不消失,即使是用户按了返回键dialog也不消失 解决的问题:软件提示升级的dialog时候,用户有可能按了返回键,但是现在的需求是用户只能按"确定升级&q ...
- java list
List:元素是有序的(怎么存的就怎么取出来,顺序不会乱),元素可以重复(角标1上有个3,角标2上也可以有个3)因为该集合体系有索引 ArrayList:底层的数据结构使用的是数组结构(数组长度是可变 ...
- HTML 学习笔记 JavaScript (DOM)
一 DOM 简介 通过HTML DOM 可以访问JavaScript 文档的所有元素 当网页被加载的时候,浏览器会创建页面的文档对象模型 HTML DOM 模型被构造成对象的树 HTML DOM 树 ...
- 如何调试shell脚本
今天看shell脚本攻略的时候,看见这个方法,感觉还是不错的 #!/bin/bash function DEBUG(){ [[ $_DEBUG == 'on' ]] && $@ || ...
- Notes: sensitivity & specificity
terminology: True positive (TP); False positive (FP): originally negative; True negative (TN); False ...
- [LINK]OpenResty
http://openresty.org/ http://www.tuicool.com/articles/M3yI3y http://www.oschina.net/question/28_6046 ...
- oracle:db-link使用
二个oracle instance,如果需要在一个instance上,直接查询另一个instance上的数据,就要用到db-link 创建: create public database link 链 ...