将上传图片打上防伪图片水印并写入数据库
1 // 涉及命名空间
2 using System;
3 using System.Collections;
4 using System.ComponentModel;
5 using System.Data;
6 using System.Data.SqlClient;
7 using System.Drawing;
8 using System.Drawing.Drawing2D;
9 using System.Drawing.Imaging;
10 using System.Web;
11 using System.Configuration;
12
13 // 方法
14 public void AddUser(string PersonName, string PersonEmail, string PersonSex, string PersonDOB, string PersonImage, string PersonImageType)
15 {
16 string strImageType = userImage.PostedFile.ContentType;
17 Stream ImageStream = userImage.PostedFile.InputStream;
18
19 // 加水印----------------->
20 string wImageFile = Server.MapPath("/bkwww/image/HomeSign.gif"); // 要加的水印图
21 Image sImage = Image.FromStream(ImageStream); // 从 Http 输入流创建 image
22 Image wImage = Image.FromFile(wImageFile);
23
24 // 绘图
25 Graphics g = Graphics.FromImage(sImage);
26 g.DrawImage(wImage, new Rectangle(0, 0, wImage.Width, wImage.Height), 0, 0, wImage.Width, wImage.Height, GraphicsUnit.Pixel);
27
28 // 保存,并将 image 转化为 byte[]
29 MemoryStream ms=new MemoryStream();
30 byte[] myImage=null;
31 sImage.Save(ms, ImageFormat.Gif);
32 myImage = ms.GetBuffer();
33 //------------------------>
34
35
36
37 // 写入数据库
38 string strConn = ConfigurationSettings.AppSettings["ConnectionString"];
39 SqlConnection myConnection = new SqlConnection(strConn);
40 SqlCommand myCommand = new SqlCommand("sp_person_isp", myConnection);
41 myCommand.CommandType = CommandType.StoredProcedure;
42
43 myCommand.Parameters.Add("@PersonEmail", SqlDbType.VarChar, 255).Value = PersonEmail;
44 myCommand.Parameters.Add("@PersonName", SqlDbType.VarChar, 255).Value = PersonName;
45 myCommand.Parameters.Add("@PersonSex", SqlDbType.Char, 1);
46 if(sexMale.Checked)
47 myCommand.Parameters["@PersonSex"].Value = "M";
48 else
49 myCommand.Parameters["@PersonSex"].Value = "F";
50 myCommand.Parameters.Add("@PersonDOB", SqlDbType.DateTime).Value = PersonDOB;
51 myCommand.Parameters.Add("@PersonImage", SqlDbType.Image).Value = myImage;
52 myCommand.Parameters.Add("@PersonImageType", SqlDbType.VarChar, 255).Value = ImageType;
53
54 try
55 {
56 myConnection.Open();
57 myCommand.ExecuteNonQuery();
58 myConnection.Close();
59 Response.Write("添加成功!");
60 }
61 catch(System.Exception SqlEx)
62 {
63 Response.Write("添加失败!"+SqlEx.ToString());
64 }
65 }
66
67 /*
68 www.china-u.com
69 Author: sharpcn | Scorpion
70 Studio: www.bkwww.com
71 Copyright(c) 2004 明天家园
72 Function:将上传的图片添加防伪图片水印,并将图片直接写入数据库,不保留在硬盘。
73 */
74
2 using System;
3 using System.Collections;
4 using System.ComponentModel;
5 using System.Data;
6 using System.Data.SqlClient;
7 using System.Drawing;
8 using System.Drawing.Drawing2D;
9 using System.Drawing.Imaging;
10 using System.Web;
11 using System.Configuration;
12
13 // 方法
14 public void AddUser(string PersonName, string PersonEmail, string PersonSex, string PersonDOB, string PersonImage, string PersonImageType)
15 {
16 string strImageType = userImage.PostedFile.ContentType;
17 Stream ImageStream = userImage.PostedFile.InputStream;
18
19 // 加水印----------------->
20 string wImageFile = Server.MapPath("/bkwww/image/HomeSign.gif"); // 要加的水印图
21 Image sImage = Image.FromStream(ImageStream); // 从 Http 输入流创建 image
22 Image wImage = Image.FromFile(wImageFile);
23
24 // 绘图
25 Graphics g = Graphics.FromImage(sImage);
26 g.DrawImage(wImage, new Rectangle(0, 0, wImage.Width, wImage.Height), 0, 0, wImage.Width, wImage.Height, GraphicsUnit.Pixel);
27
28 // 保存,并将 image 转化为 byte[]
29 MemoryStream ms=new MemoryStream();
30 byte[] myImage=null;
31 sImage.Save(ms, ImageFormat.Gif);
32 myImage = ms.GetBuffer();
33 //------------------------>
34
35
36
37 // 写入数据库
38 string strConn = ConfigurationSettings.AppSettings["ConnectionString"];
39 SqlConnection myConnection = new SqlConnection(strConn);
40 SqlCommand myCommand = new SqlCommand("sp_person_isp", myConnection);
41 myCommand.CommandType = CommandType.StoredProcedure;
42
43 myCommand.Parameters.Add("@PersonEmail", SqlDbType.VarChar, 255).Value = PersonEmail;
44 myCommand.Parameters.Add("@PersonName", SqlDbType.VarChar, 255).Value = PersonName;
45 myCommand.Parameters.Add("@PersonSex", SqlDbType.Char, 1);
46 if(sexMale.Checked)
47 myCommand.Parameters["@PersonSex"].Value = "M";
48 else
49 myCommand.Parameters["@PersonSex"].Value = "F";
50 myCommand.Parameters.Add("@PersonDOB", SqlDbType.DateTime).Value = PersonDOB;
51 myCommand.Parameters.Add("@PersonImage", SqlDbType.Image).Value = myImage;
52 myCommand.Parameters.Add("@PersonImageType", SqlDbType.VarChar, 255).Value = ImageType;
53
54 try
55 {
56 myConnection.Open();
57 myCommand.ExecuteNonQuery();
58 myConnection.Close();
59 Response.Write("添加成功!");
60 }
61 catch(System.Exception SqlEx)
62 {
63 Response.Write("添加失败!"+SqlEx.ToString());
64 }
65 }
66
67 /*
68 www.china-u.com
69 Author: sharpcn | Scorpion
70 Studio: www.bkwww.com
71 Copyright(c) 2004 明天家园
72 Function:将上传的图片添加防伪图片水印,并将图片直接写入数据库,不保留在硬盘。
73 */
74