zoukankan      html  css  js  c++  java
  • 文件上传加水印

    在form表单写的代码(客户端源码)

    ‘FileUpload’控件:选择文件用的,点击可以选择文件
    ‘Image’控件:展示图片用的,所选的文件在这里展示

    accept=".jpg,.png,.jpeg"图片文件加限制的属性
    <form id="form1" runat="server">
    
            <asp:FileUpload ID="FileUpload1" runat="server" accept=".jpg,.png,.jpeg" />
            <asp:Button ID="Button1" runat="server" Text="上传" />
            <asp:Image ID="Image1" runat="server" />
        </form>

    在后台服务端写按钮的点击事件

    ‘FileUpload1.SaveAs(这里面放的是一个路径);’

    新建一个文件夹,把所有的上传文件都放在这个文件夹里

    //判断控件是否选中,如果是非选中的话,直接‘return’走
            if (!FileUpload1.HasFile) return;
            //为了防止重名的问题,在前面加上上传的时间
            string path = "uploads/"+DateTime.Now.ToString("yyyyMMddHHssms")+FileUpload1.FileName;
            //Server.MapPath()路径映射,映射成绝对路径,把谁映射?把‘path’映射
            FileUpload1.SaveAs(Server.MapPath(path));
            //上传上之后,在界面上展示出来
            Image1.ImageUrl = path;       //这里是相对路径

    以上是文件的基本上传,还没有加上水印

    图片水印:

    using System.Drawing;   首先的先引用一个画画的类(命名空间)这样可以使用各种画画的类,进行画画

    然后,准备画布:System.Drawing.Image img = System.Drawing.Image.FromStream(FileUpload1.FileContent);

    画画是在哪里画 :Graphics g = Graphics.FromImage(img);

    protected void Page_Load(object sender, EventArgs e)
        {
            Button1.Click += Button1_Click;
        }
    
        void Button1_Click(object sender, EventArgs e)
        {
            if (!FileUpload1.HasFile) return;
            //画布
            System.Drawing.Image img = System.Drawing.Image.FromStream(FileUpload1.FileContent);
            //在哪张图上画
            Graphics g = Graphics.FromImage(img);
            //要画什么东西(内容)
            string s = "汉企奇点网络0504专用章";
            //字体
            Font f = new Font("黑体", 20);
            //画笔
            Brush b = new SolidBrush(Color.Red);
            //坐标轴
            PointF p = new PointF(10, 10);
            //把参数放上
            g.DrawString(s,f,b,p);
            string path = "uploads/" + DateTime.Now.ToString("yyyyMMddHHmmssms") + FileUpload1.FileName;
            img.Save(Server.MapPath(path));
    
            Image1.ImageUrl = path;
        }

    如果是把两张图片进行叠加的话,需要改一个属性

    g.DrawString()改成  g.DrawImage()

    //两张图片叠加
            g.DrawImage(System.Drawing.Image.FromFile(Server.MapPath("uploads/222.png")), p);
  • 相关阅读:
    Automatic overvoltage protection
    IDA Pro Disassembler 6.8.15.413 (Windows, Linux, Mac)
    J-Link GDB Server Command
    emSecure Use Digital Signatures to protect your products
    画时序图工具TimingDesigner 9.2 安装指导
    增益 Gain 分贝 dB
    How determine the RC time constant in PWM DAC low-pass filter?
    DAC Essentials
    Voltage Level-Shifter Output Waveform
    线性稳压器的基本类型
  • 原文地址:https://www.cnblogs.com/yunpeng521/p/7469860.html
Copyright © 2011-2022 走看看