zoukankan      html  css  js  c++  java
  • 上传图片文件实现防伪图片水印并写入数据库

    // 涉及命名空间
    using System;
    using System.Collections;
    using System.ComponentModel;
    using System.Data;
    using System.Data.SqlClient;
    using System.Drawing;
    using System.Drawing.Drawing2D;
    using System.Drawing.Imaging;
    using System.Web;
    using System.Configuration;
    
    // 方法
    public void AddUser(string PersonName, string PersonEmail, string PersonSex, string PersonDOB, string PersonImage, string PersonImageType)
    {
     string strImageType = userImage.PostedFile.ContentType;
     Stream ImageStream = userImage.PostedFile.InputStream;
    
     // 加水印----------------->
     string wImageFile = Server.MapPath("/bkwww/image/HomeSign.gif"); // 要加的水印图
     Image sImage = Image.FromStream(ImageStream); // 从 Http 输入流创建 image
     Image wImage = Image.FromFile(wImageFile);
    
     // 绘图
     Graphics g = Graphics.FromImage(sImage);
     g.DrawImage(wImage, new Rectangle(0, 0, wImage.Width, wImage.Height), 0, 0, wImage.Width, wImage.Height, GraphicsUnit.Pixel);
       
     // 保存,并将 image 转化为 byte[]
     MemoryStream ms=new MemoryStream();
     byte[] myImage=null;
     sImage.Save(ms, ImageFormat.Gif);
     myImage = ms.GetBuffer();
     //------------------------>
       
    
    
     // 写入数据库
     string strConn = ConfigurationSettings.AppSettings["ConnectionString"];
     SqlConnection myConnection = new SqlConnection(strConn);
     SqlCommand myCommand = new SqlCommand("sp_person_isp", myConnection);
     myCommand.CommandType = CommandType.StoredProcedure;
    
     myCommand.Parameters.Add("@PersonEmail", SqlDbType.VarChar, 255).Value = PersonEmail;
     myCommand.Parameters.Add("@PersonName", SqlDbType.VarChar, 255).Value = PersonName;
     myCommand.Parameters.Add("@PersonSex", SqlDbType.Char, 1);
     if(sexMale.Checked)
     myCommand.Parameters["@PersonSex"].Value = "M";
     else
     myCommand.Parameters["@PersonSex"].Value = "F";
     myCommand.Parameters.Add("@PersonDOB", SqlDbType.DateTime).Value = PersonDOB;
     myCommand.Parameters.Add("@PersonImage", SqlDbType.Image).Value = myImage;
     myCommand.Parameters.Add("@PersonImageType", SqlDbType.VarChar, 255).Value = ImageType;
    
     try
     {
     myConnection.Open();
     myCommand.ExecuteNonQuery();
     myConnection.Close();
     Response.Write("添加成功!");
     }
     catch(System.Exception SqlEx)
     {
     Response.Write("添加失败!"+SqlEx.ToString());
     }
    }
    
    
    
  • 相关阅读:
    C 语言的读取文件
    [Water]序号呼唤
    [Water]Hdu 1022 Train Problem I
    [Water]Hdu 2054 A == B ?
    Java竞赛可能会用到的东西
    [Huffman]Hdu 2527 Safe Or Unsafe
    [Prim]Poj 1258 Agri-Net
    Hdu 1257 最少拦截系统 (LIS、贪心)
    [Max Sum]hdu 1003
    Hdu 2566 统计硬币
  • 原文地址:https://www.cnblogs.com/zhenhua/p/1848729.html
Copyright © 2011-2022 走看看