• 软件测试技术
  • 软件测试博客
  • 软件测试视频
  • 开源软件测试技术
  • 软件测试论坛
  • 软件测试沙龙
  • 软件测试资料下载
  • 软件测试杂志
  • 软件测试人才招聘
    暂时没有公告

字号: 小 中 大 | 推荐给好友 上一篇 | 下一篇

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

发布: 2007-6-30 18:56 | 作者: admin | 来源: | 查看: 13次 | 进入软件测试论坛讨论

领测软件测试网      // 涉及命名空间
  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:将上传的图片添加防伪图片水印,并将图片直接写入数据库,不保留在硬盘。
  */
  
  

延伸阅读

文章来源于领测软件测试网 https://www.ltesting.net/


关于领测软件测试网 | 领测软件测试网合作伙伴 | 广告服务 | 投稿指南 | 联系我们 | 网站地图 | 友情链接
版权所有(C) 2003-2010 TestAge(领测软件测试网)|领测国际科技(北京)有限公司|软件测试工程师培训网 All Rights Reserved
北京市海淀区中关村南大街9号北京理工科技大厦1402室 京ICP备2023014753号-2
技术支持和业务联系:[email protected] 电话:010-51297073

软件测试 | 领测国际 | ISTQB | ISTQB官网 | TMMi | TMMi认证 | 国际软件测试工程师认证 | 领测软件测试网