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;
}
}
}
查看全文
相关阅读:
五大存储模型关系模型、键值存储、文档存储、列式存储、图形数据库
UML语言中类之间关系
hadoop的yarn资源队列
Scala中下划线的7种用法
《机器学习》(周志华)西瓜书读书笔记(完结)
Pytorch DistributedDataParallel简明使用指南
本地查看SSH远程连接服务器上的TensorBoard
python max()用法
实现go并发的三种方式
docker分阶段构造nginx镜像
原文地址:https://www.cnblogs.com/adam/p/959895.html
最新文章
DedeCMS:CSRFTokenCheckFailed
数据分析的一些总结
事务嵌套
订单支付流程
java的jdbc配置东八区的链接
Idea开发建议安装的插件
springboot之elasticsearch的接入
springboot之nacos的配置和服务发现
SpringBoot之单元测试的使用
java的swagger跟servlet的context-path使用坑
热门文章
spring整合druid的问题Sorry, you are not permitted to view this page.
spring-boot搭建的swaagger的api项目
C# Guid.ToString()
Asp.Net Core 中的 Options
kafka Document
IIS 7无法写入配置文件C:WindowsSystem32inetsrvconfigapplicationHost.config
.net core api 集成swagger 文档不显示action中文注释、分层开发形参实体不显示实体属性注释、返回值不显示实体注释问题
.NET CORE3.1 WEBAPI项目关于接口返回值和SWAGGER文档中参数首字母被转换成小写的解决方案。
ajax 向后台传值方案
java密码安全=学习笔记
Copyright © 2011-2022 走看看