zoukankan      html  css  js  c++  java
  • 上传图片加水印

    using System;
    using System.Collections;
    using System.ComponentModel;
    using System.Data;
    using System.Drawing;
    using System.Web;
    using System.Web.SessionState;
    using System.Web.UI;
    using System.Web.UI.WebControls;
    using System.Web.UI.HtmlControls;
    using System.IO;

    namespace MikeCat
    {
        
    /// <summary>
        
    /// MikeCat_WaterMark 的摘要说明。
        
    /// *******************************
        
    /// 作者:迈克老猫
        
    /// 功能:上传图片加入水印
        
    /// EMAIL:mikecat#mikecat.net
        
    /// *******************************
        
    /// </summary>

        public class MikeCat_WaterMark : System.Web.UI.Page
        
    {
            
    protected System.Web.UI.WebControls.Button Button1;
            
    protected System.Web.UI.HtmlControls.HtmlInputFile File1;
            
    protected System.Web.UI.WebControls.Image Image1;
            
    protected System.Web.UI.WebControls.RequiredFieldValidator RequiredFieldValidator1;
            
    protected System.Web.UI.WebControls.Label Label1;
            
    protected System.Web.UI.WebControls.Button Button2;
        
            
    private void Page_Load(object sender, System.EventArgs e)
            
    {
                
    // 在此处放置用户代码以初始化页面
                if(!Page.IsPostBack)
                
    {
                    Image1.ImageUrl
    ="mikepp.gif";
                }

            }


            
    Web 窗体设计器生成的代码

            
    private void Button1_Click(object sender, System.EventArgs e)
            
    {
                
    if(File1.PostedFile.FileName.Trim()!="")
                
    {
                    
    //上传文件
                    string extension = Path.GetExtension(File1.PostedFile.FileName).ToLower();
                    
    string fileName = DateTime.Now.ToString("yyyyMMddhhmmss");
                    
    string path = Server.MapPath("."+ "/upload/" + fileName + extension;
                    File1.PostedFile.SaveAs(path);

                    
    //加文字水印,注意,这里的代码和以下加图片水印的代码不能共存
                    System.Drawing.Image image = System.Drawing.Image.FromFile(path);
                    Graphics g 
    = Graphics.FromImage(image);
                    g.DrawImage(image, 
    00, image.Width, image.Height);
                    Font f 
    = new Font("Verdana",16);
                    Brush b 
    = new SolidBrush(Color.Blue);
                    
    string addText = "老猫的理想http://www.mikecat.net";
                    g.DrawString(addText, f, b, 
    1010);
                    g.Dispose();

                    
    //保存加水印过后的图片,删除原始图片
                    string newPath = Server.MapPath("."+ "/upload/" + fileName + "_new" + extension;
                    image.Save(newPath);
                    image.Dispose();
                    
    if(File.Exists(path))
                    
    {
                        File.Delete(path);
                    }

            
                    Image1.ImageUrl
    =newPath;
    //                Response.Redirect(newPath);
                }


            }


            
    private void Button2_Click(object sender, System.EventArgs e)
            
    {
                
    //上传文件
                string extension = Path.GetExtension(File1.PostedFile.FileName).ToUpper();
                
    string fileName = DateTime.Now.ToString("yyyyMMddhhmmss");
                
    string path = Server.MapPath("."+ "/upload/" + fileName + extension;
                File1.PostedFile.SaveAs(path);

                
                
    //加图片水印
                System.Drawing.Image image = System.Drawing.Image.FromFile(path);
                System.Drawing.Image copyImage 
    = System.Drawing.Image.FromFile( Server.MapPath("."+ "/mikepp.gif");
                Graphics g 
    = Graphics.FromImage(image);
                g.DrawImage(copyImage, 
    new Rectangle(image.Width-copyImage.Width, image.Height-copyImage.Height, copyImage.Width, copyImage.Height), 00, copyImage.Width, copyImage.Height, GraphicsUnit.Pixel);
                g.Dispose();

                
    //保存加水印过后的图片,删除原始图片
                string newPath = Server.MapPath("."+ "/upload/" + fileName + "_new" + extension;
                image.Save(newPath);
                image.Dispose();
                
    if(File.Exists(path))
                
    {
                    File.Delete(path);
                }


                Image1.ImageUrl
    =newPath;
            }

        }

    }

  • 相关阅读:
    求解整数集合的交集(腾讯笔试)
    关于屏幕适配之比例布局
    (转)注册JNI函数的两种方式
    正则表达式记录
    当年一个简单可用的多线程断点续传类
    最近用到的几个工具方法
    Android中包含List成员变量的Parcel以及Parcel嵌套写法示例
    java实现计算MD5
    一个用于去除状态栏和虚拟导航栏的BaseActivity
    MVP的模板
  • 原文地址:https://www.cnblogs.com/adam/p/959895.html
Copyright © 2011-2022 走看看