页面部分
<%@ Page Language="C#" AutoEventWireup="true" CodeFile="tupianshuiyin.aspx.cs" Inherits="tupianshuiyin" %> <!DOCTYPE html> <html xmlns="http://www.w3.org/1999/xhtml"> <head runat="server"> <meta http-equiv="Content-Type" content="text/html; charset=utf-8"/> <title></title> </head> <body> <form id="form1" runat="server"> <div> <asp:FileUpload ID="FileUpload1" runat="server" /><asp:Button ID="Button1" runat="server" Text="上传" /><br /> <asp:Image ID="Image1" runat="server" /> </div> </form> </body> </html>
后台代码部分
using System; using System.Collections.Generic; using System.Linq; using System.Web; using System.Web.UI; using System.Web.UI.WebControls; using System.Drawing;//引用绘画类 public partial class tupianshuiyin : System.Web.UI.Page { protected void Page_Load(object sender, EventArgs e) { Button1.Click += Button1_Click;//上传按钮 } //上传按钮开始 void Button1_Click(object sender, EventArgs e) { //限制用户上传类型为图片 //一、先把图片取出来 当做咱们要绘画的画布 System.Drawing.Image img = System.Drawing.Image.FromStream(FileUpload1.FileContent); //1、FileUpload1.FileContent 将上传的图片变成流文件 //2、引用System.Drawing类 //3、定义一个System.Drawing.Image类的变量 img //4、将文件变成流对象赋值给img这个变量 //二、往图片上画水印 //1、往哪个对象上绘制,调用绘制方法这个类 Graphics g = Graphics.FromImage(img);//Graphics绘制类 //2、如何绘制,绘制什么东西 string aa="起航科技";//绘制内容 Font f=new Font("微软雅黑",18);//font类,绘制字体的样式跟尺寸 SolidBrush b=new SolidBrush(Color.Red);//SolidBrush实线画刷类,准备刷子 g.DrawString(aa, f, b, 0, 0);//绘制完成对象 //三、把图片保存到指定位置并添加到image控件中 string bbb = FileUpload1.FileName;//取出文件的名字 string ccc = "Uploads/" + bbb;//图片要保存位置的相对路径 string path = Server.MapPath(ccc);//图片要保存位置的绝对路径 img.Save(path);//保存图片对象 //四、图片显示 Image1.ImageUrl = ccc; } //上传按钮结束 }