将上传图片打上防伪图片水印并写入数据库
// 涉及命名空間
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());
?}
}
/*
?54tiger.cnblogs.com
???Copyright(c) 2006?《八零年代》?Function:將上傳的圖片添加防偽圖片水印,并將圖片直接寫入數據庫,不保留在硬盤。
*/
轉載于:https://www.cnblogs.com/54tiger/archive/2007/01/08/614548.html
總結
以上是生活随笔為你收集整理的将上传图片打上防伪图片水印并写入数据库的全部內容,希望文章能夠幫你解決所遇到的問題。
                            
                        - 上一篇: 展望2007
 - 下一篇: 轻松一下——高考笑句