zoukankan
html css js c++ java
为图片加水印
//
下面的代码中,加文字水印和加图片水印的代码不能共存,为了方便显示才写在一块的
private
void
Btn_Upload_Click(
object
sender, System.EventArgs e)
{
if
(UploadFile.PostedFile.FileName.Trim()
!=
""
)
{
//
上传文件
string
extension
=
Path.GetExtension(UploadFile.PostedFile.FileName).ToUpper();
string
fileName
=
DateTime.Now.ToString(
"
yyyyMMddhhmmss
"
);
string
path
=
Server.MapPath(
"
.
"
)
+
"
/UploadFile/
"
+
fileName
+
extension;
UploadFile.PostedFile.SaveAs(path);
//
加文字水印,注意,这里的代码和以下加图片水印的代码不能共存
System.Drawing.Image image
=
System.Drawing.Image.FromFile(path);
Graphics g
=
Graphics.FromImage(image);
g.DrawImage(image,
0
,
0
, image.Width, image.Height);
Font f
=
new
Font(
"
Verdana
"
,
32
);
Brush b
=
new
SolidBrush(Color.White);
string
addText
=
AddText.Value.Trim();
g.DrawString(addText, f, b,
10
,
10
);
g.Dispose();
//
加图片水印
System.Drawing.Image image
=
System.Drawing.Image.FromFile(path);
System.Drawing.Image copyImage
=
System.Drawing.Image.FromFile( Server.MapPath(
"
.
"
)
+
"
/Alex.gif
"
);
Graphics g
=
Graphics.FromImage(image);
g.DrawImage(copyImage,
new
Rectangle(image.Width
-
copyImage.Width, image.Height
-
copyImage.Height, copyImage.Width, copyImage.Height),
0
,
0
, copyImage.Width, copyImage.Height, GraphicsUnit.Pixel);
g.Dispose();
//
保存加水印过后的图片,删除原始图片
string
newPath
=
Server.MapPath(
"
.
"
)
+
"
/UploadFile/
"
+
fileName
+
"
_new
"
+
extension;
image.Save(newPath);
image.Dispose();
if
(File.Exists(path))
{
File.Delete(path);
}
Response.Redirect(newPath);
}
}
from:
http://hi.baidu.com/xielihua1999/blog/item/7ad3a045efae3626cffca344.html
查看全文
相关阅读:
CCNP-MPLS-标签交换
Mac地址表、STP与RSTP原理
mysql 初始数据库简单操作
异步回调,事件,线程池与协程
bug问题
GIL 线程池
异常处理
奇怪的东西
绑定方法
初体验
原文地址:https://www.cnblogs.com/yiki/p/841097.html
最新文章
2、Java数据类型框图和自动转化框图
2、数据类型和运算符——基本类型的类型转换
java中Map遍历的四种方式
hibernate注解--@transient
struts2,hibernate等模板配置文件在jar包中的路径,以及所需要的包
前端插件--总结
CSS背景图怎么自适应全屏(手机或者电脑)
滚动效果--marquee的使用
元素隐藏的方式之--hidden,display,visibility
js阻止点击事件的冒泡的实现
热门文章
js将timestamp对象与时间字符串之间的转换
centos中网卡的配置
DHCP工作原理(地址请求过程)
操作系统原理-操作系统的定义、特征及功能
三层交换机和路由器的区别
华为和思科设备路由协议默认优先级总结
DHCP(动态主机配置协议)
二层交换机和三层交换机的区别
RAID技术简介
常见路由协议分类及区别
Copyright © 2011-2022 走看看