上传图片以及添加水印

1.首先简单在在页面放上一个文件上传的控件及一个按钮用作点击上传,再放一个image控件用来显示上传的图片

HTML页面

<%@ 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>

2.然后在后台上传按钮中写事件

后台代码:

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;
        
    }
    //上传按钮结束
}
原文地址:https://www.cnblogs.com/zyg316/p/5789073.html