zoukankan
html css js c++ java
上传图片加水印
using
System;
using
System.Collections;
using
System.ComponentModel;
using
System.Data;
using
System.Drawing;
using
System.Web;
using
System.Web.SessionState;
using
System.Web.UI;
using
System.Web.UI.WebControls;
using
System.Web.UI.HtmlControls;
using
System.IO;
namespace
MikeCat
{
/**/
///
<summary>
///
MikeCat_WaterMark 的摘要说明。
///
*******************************
///
作者:迈克老猫
///
功能:上传图片加入水印
///
EMAIL:mikecat#mikecat.net
///
*******************************
///
</summary>
public
class
MikeCat_WaterMark : System.Web.UI.Page
{
protected
System.Web.UI.WebControls.Button Button1;
protected
System.Web.UI.HtmlControls.HtmlInputFile File1;
protected
System.Web.UI.WebControls.Image Image1;
protected
System.Web.UI.WebControls.RequiredFieldValidator RequiredFieldValidator1;
protected
System.Web.UI.WebControls.Label Label1;
protected
System.Web.UI.WebControls.Button Button2;
private
void
Page_Load(
object
sender, System.EventArgs e)
{
//
在此处放置用户代码以初始化页面
if
(
!
Page.IsPostBack)
{
Image1.ImageUrl
=
"
mikepp.gif
"
;
}
}
Web 窗体设计器生成的代码
#region
Web 窗体设计器生成的代码
override
protected
void
OnInit(EventArgs e)
{
//
//
CODEGEN: 该调用是 ASP.NET Web 窗体设计器所必需的。
//
InitializeComponent();
base
.OnInit(e);
}
/**/
///
<summary>
///
设计器支持所需的方法 - 不要使用代码编辑器修改
///
此方法的内容。
///
</summary>
private
void
InitializeComponent()
{
this
.Button1.Click
+=
new
System.EventHandler(
this
.Button1_Click);
this
.Button2.Click
+=
new
System.EventHandler(
this
.Button2_Click);
this
.Load
+=
new
System.EventHandler(
this
.Page_Load);
}
#endregion
private
void
Button1_Click(
object
sender, System.EventArgs e)
{
if
(File1.PostedFile.FileName.Trim()
!=
""
)
{
//
上传文件
string
extension
=
Path.GetExtension(File1.PostedFile.FileName).ToLower();
string
fileName
=
DateTime.Now.ToString(
"
yyyyMMddhhmmss
"
);
string
path
=
Server.MapPath(
"
.
"
)
+
"
/upload/
"
+
fileName
+
extension;
File1.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
"
,
16
);
Brush b
=
new
SolidBrush(Color.Blue);
string
addText
=
"
老猫的理想http://www.mikecat.net
"
;
g.DrawString(addText, f, b,
10
,
10
);
g.Dispose();
//
保存加水印过后的图片,删除原始图片
string
newPath
=
Server.MapPath(
"
.
"
)
+
"
/upload/
"
+
fileName
+
"
_new
"
+
extension;
image.Save(newPath);
image.Dispose();
if
(File.Exists(path))
{
File.Delete(path);
}
Image1.ImageUrl
=
newPath;
//
Response.Redirect(newPath);
}
}
private
void
Button2_Click(
object
sender, System.EventArgs e)
{
//
上传文件
string
extension
=
Path.GetExtension(File1.PostedFile.FileName).ToUpper();
string
fileName
=
DateTime.Now.ToString(
"
yyyyMMddhhmmss
"
);
string
path
=
Server.MapPath(
"
.
"
)
+
"
/upload/
"
+
fileName
+
extension;
File1.PostedFile.SaveAs(path);
//
加图片水印
System.Drawing.Image image
=
System.Drawing.Image.FromFile(path);
System.Drawing.Image copyImage
=
System.Drawing.Image.FromFile( Server.MapPath(
"
.
"
)
+
"
/mikepp.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(
"
.
"
)
+
"
/upload/
"
+
fileName
+
"
_new
"
+
extension;
image.Save(newPath);
image.Dispose();
if
(File.Exists(path))
{
File.Delete(path);
}
Image1.ImageUrl
=
newPath;
}
}
}
查看全文
相关阅读:
Python join方法
Python字符串capitalize center 方法
Python int 中 add abs 方法
Nginx Windows 安装启动
Angularjs 首次加载显示{{}}
Mysql 字符串截取
Mysql 主键常用修改
AES 加密256位 错误 java.security.InvalidKeyException: Illegal key size or default parameters
Tocmat 启动错误 Port 8005 required by tomcat v7.0 server at localhost is already in use
Socket IO Web实时推送
原文地址:https://www.cnblogs.com/adam/p/959895.html
最新文章
自动更新文件夹下所有DLL 至最新修改时间版本
MS SQL 数据类型转换
生成 XML 文档时出错。
使用预设半透明鼠标Cursor
jQuery Mobile的默认配置项具体解释,jQuery Mobile的中文配置api,jQuery Mobile的配置说明,配置大全
html5中JavaScript删除全部节点
敏捷开发学习分享
信息化系统导航菜单样式实现
使用RegisterNatives注冊原生代码
ITouch在xcode下提示‘No such file or directory, at ‘/SourceCache/DVTi...'
热门文章
MySQL安装失败解决的方法
Uncontrolled memory mapping in camera driver (CVE-2013-2595)
【环境配置】配置jdk
从产品角度考虑优秀员工的评定
Python paramiko模块
Python 动态生成多个变量
Python swapcase
Python replace
Python 时间获取
Linux 文件系统与挂载详解
Copyright © 2011-2022 走看看