如何在上传的图片上自动加上水影?
上面我们说到:如何管理好自己的网赚?就得要利用后台来管理。 对于新手来说后台随看简单,但是也很复杂,许多新手站长们还不知道怎么弄?所以今天我要讲的教程是:如何在上传的图片上自动加上水影? 这个问题也要利用后台来实现,所以呢?对于后台不熟悉的站长们,可以来学习一下。下面是一段代码,提供后台没有“加水印这个功能的代码”有这个功能的朋友就不用加这个代码了。
a.aspx
<%@ Page language= "c# " Codebehind= "MikeCat_WaterMark.aspx.cs " AutoEventWireup= "false " Inherits= "MikeCat.MikeCat_WaterMark " %>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN " >
<HTML>
<HEAD>
<title> MikeCat_WaterMark </title>
<meta name= "GENERATOR " Content= "Microsoft Visual Studio .NET 7.1 ">
<meta name= "CODE_LANGUAGE " Content= "C# ">
<meta name= "vs_defaultClientScript " content= "JavaScript ">
<meta name= "vs_targetSchema " content= "http://schemas.microsoft.com/intellisense/ie5 ">
</HEAD>
<body MS_POSITIONING= "GridLayout ">
<form id= "Form1 " method= "post " runat= "server ">
<INPUT id= "File1 " style= "Z-INDEX: 101; LEFT: 144px; WIDTH: 400px; POSITION: absolute; TOP: 88px; HEIGHT: 22px "
type= "file " size= "47 " name= "File1 " runat= "server ">
<asp:Button id= "Button1 " style= "Z-INDEX: 102; LEFT: 176px; POSITION: absolute; TOP: 136px " runat= "server "
Text= "上传并加文字水印 "> </asp:Button>
<asp:Button id= "Button2 " style= "Z-INDEX: 103; LEFT: 352px; POSITION: absolute; TOP: 136px " runat= "server "
Text= "上传并加图片水印 "> </asp:Button>
<asp:RequiredFieldValidator id= "RequiredFieldValidator1 " style= "Z-INDEX: 104; LEFT: 552px; POSITION: absolute; TOP: 88px "
runat= "server " ErrorMessage= "* " ControlToValidate= "File1 "> </asp:RequiredFieldValidator>
<DIV style= "Z-INDEX: 105; LEFT: 16px; WIDTH: 100%; POSITION: absolute; TOP: 168px; HEIGHT: 100px "
ms_positioning= "GridLayout ">
<asp:Image id= "Image1 " style= "Z-INDEX: 107; LEFT: 56px; POSITION: absolute; TOP: 16px " runat= "server "
ImageAlign= "Middle "> </asp:Image> </DIV>
<asp:Label id= "Label1 " style= "Z-INDEX: 107; LEFT: 176px; POSITION: absolute; TOP: 40px " runat= "server "> 站长网赚论坛--上传图片并加入水印 </asp:Label>
</form>
</body>
</HTML>
a.aspx.cs
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 ";
}
}
#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.php178.com ";
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;
}
}
}
有这个功能的朋友,可以直接登入后台,进入'全局"→附件设置,里面包括“图片水印”→“防盗链设置”,下面是操作,我就简单点,直接用图片展示给大家看好了。
在“缩小图”中,只要不选择“不启用缩略图功能”就行,其它的都可以按照自己的要求选择,然后提交就可以了。
以上供新手的站长们学习,老手们也可以来看看,帮我提提建议,共同努力。 以上教程供新手们参考,老手就不用参考了,
页:
[1]