(转)将上传图片打上防伪图片水印并写入数据库

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(00, wImage.Width, wImage.Height), 00, 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());
 }

}
posted on 2006-06-13 18:16  冷月孤峰  阅读(203)  评论(0)    收藏  举报