现在的位置: 首页 >> 网站编程 >> ASP.NET >> 将上传图片打上防伪图片水印并写入数据库
添加时间:2005-10-30 来源:网教中国 作者:
将上传图片打上防伪图片水印并写入数据库

// 涉及命名空间
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());
 }
}

/*
 www.knowsky.com
 Author: sharpcn | Scorpion
 Studio: www.bkwww.com
 Copyright(c) 2004 明天家园
 Function:将上传的图片添加防伪图片水印,并将图片直接写入数据库,不保留在硬盘。
*/


上一篇:ASP.NET中实时图表的实现 下一篇:asp.net中调用Office来制作3D统计图
大部分文章摘自网上,如有侵犯您的权益请与我们联系,我们会第一时间进行处理,谢谢! [ 打印文章 ] [ 关闭窗口 ]
推荐文章
·ASP.NET 2.0中构造个性化网页
·利用 ASP.NET 的内置功能抵御 We
·提高ASP.Net应用程序性能的十大(
·不用SQL语句查询DataTable中的数
·基于C#的接口基础教程之六(5)
·ASP.NET应用程序规划与设计(1)
·ASP.NET可交互式位图窗体设计(5)
·ASP.NET虚拟主机的重大安全隐患(
·在网页中动态的生成一个gif图片
·改写即时消息的发送,包含同时给
相关文章
 
最新文章
·《ASP.NET网站建设专家》目录
·《ASP.NET网站建设专家》前言
·用ASP.NET在同一网页中显示主从
·ASP.NET 如何操作文件
·ASP.NET 2.0中构造个性化网页
·利用 ASP.NET 的内置功能抵御 We
·.text urlRewrite介绍
·ASP.NET中为DataGrid添加合计字
·用 WebClient.UploadData 方法
·ASP.NET Cache
Google