- private void Btn_Upload_Click(object sender, System.EventArgs e)
- {
- if(UploadFile.PostedFile.FileName.Trim()!="")
- {
- //上传文件
- string extension = Path.GetExtension(UploadFile.PostedFile.FileName).ToUpper();
- string fileName = DateTime.Now.Year.ToString() + DateTime.Now.Month.ToString() + DateTime.Now.Day.ToString() + DateTime.Now.Hour.ToString() + DateTime.Now.Minute.ToString() + DateTime.Now.Second.ToString();
- string path = Server.MapPath(".") + "/UploadFile/" + fileName + extension;
- UploadFile.PostedFile.SaveAs(path);
- //加文字水印,注意,这里的代码和以下加图片水印的代码不能共存
- System.Drawing.Image image = System.Drawing.Image.FromFile(path);
- Graphics g = Graphics.FromImage(image);
- g.DrawImage(image, 0, 0, image.Width, image.Height);
- Font f = new Font("Verdana", 32);
- Brush b = new SolidBrush(Color.White);
- string addText = AddText.Value.Trim();
- g.DrawString(addText, f, b, 10, 10);
- g.Dispose();
- //加图片水印
- System.Drawing.Image image = System.Drawing.Image.FromFile(path);
- System.Drawing.Image copyImage = System.Drawing.Image.FromFile( Server.MapPath(".") + "/Alex.gif");
- Graphics g = Graphics.FromImage(image);
- g.DrawImage(copyImage, new Rectangle(image.Width-copyImage.Width, image.Height-copyImage.Height, copyImage.Width, copyImage.Height), 0, 0, copyImage.Width, copyImage.Height, GraphicsUnit.Pixel);
- g.Dispose();
- //保存加水印过后的图片,删除原始图片
- string newPath = Server.MapPath(".") + "/UploadFile/" + fileName + "_new" + extension;
- image.Save(newPath);
- image.Dispose();
- if(File.Exists(path))
- {
- File.Delete(path);
- }
- Response.Redirect(newPath);
- }
- }
第二个
- //##############################################################################
- //图片操作类
- //##############################################################################
- public class ImageHelper
- {
- #region " 水印存放的相对路径 "
- public static string GetLogoPath()
- {
- return "/images/logo.png"; ///水印图路径
- }
- #endregion
- #region " 图片水印 "
- // <summary>
- // 在图片上生成图片水印,此方法不支持Gif类型的图片
- // </summary>
- // <param name="Path">原服务器图片路径</param>
- // <param name="Path_syp">生成的带图片水印的图片路径</param>
- // <param name="Path_sypf">水印图片路径</param>
- public static void MarkImage(Stream InUploadImagePath, string inLogoImagePath, string InSavePath)
- {
- System.Drawing.Image Image = System.Drawing.Image.FromStream(InUploadImagePath);
- System.Drawing.Image newimage = Image.FromFile(Current.Server.MapPath(inLogoImagePath));
- Graphics g = Graphics.FromImage(Image);
- g.DrawImage(newimage, new Rectangle(Image.Width - newimage.Width, Image.Height - newimage.Height, newimage.Width, newimage.Height), 0, 0, newimage.Width, newimage.Height, GraphicsUnit.Pixel);
- try {
- Image.Save(Current.Server.MapPath(InSavePath));
- }
- catch (Exception ex) {
- }
- finally {
- g.Dispose();
- Image.Dispose();
- newimage.Dispose();
- }
- }
- #endregion
- }
第三个
http://writeblog.csdn.net/PostEditPlain.aspx