• 上传图片生成缩略图


    上传图片 生成不同大小的缩略图

    Code
    /// <summary>
    /// 上传图片
    /// </summary>
    /// <param name="Path"></param>
    /// <param name="filePic"></param>
    /// <returns></returns>
    public static string[] UploadPic(string Path, FileUpload filePic)
    {
    //原图
    System.Drawing.Image original_image = null;
    System.Drawing.Bitmap final_image
    = null;
    System.Drawing.Graphics graphic
    = null;
    MemoryStream ms
    = null;
    //文件类型
    string preveiw = Path+"preview/";
    string display = Path + "display/";
    string print = Path + "print/";
    string[] uploadPath = new string[3];
    string filename;
    try
    {
    #region 判断目录是否存在
    if (System.IO.Directory.Exists(HttpContext.Current.Request.PhysicalApplicationPath + preveiw) == false)
    {
    System.IO.Directory.CreateDirectory(HttpContext.Current.Request.PhysicalApplicationPath
    + preveiw);
    }
    if (System.IO.Directory.Exists(HttpContext.Current.Request.PhysicalApplicationPath + display) == false)
    {
    System.IO.Directory.CreateDirectory(HttpContext.Current.Request.PhysicalApplicationPath
    + display);
    }
    if (System.IO.Directory.Exists(HttpContext.Current.Request.PhysicalApplicationPath + print) == false)
    {
    System.IO.Directory.CreateDirectory(HttpContext.Current.Request.PhysicalApplicationPath
    + print);
    }
    #endregion

    HttpPostedFile image_upload
    = filePic.PostedFile;

    original_image
    = System.Drawing.Image.FromStream(image_upload.InputStream);

    #region 计算缩略各种图宽、高
    //preview
    int preview_width = original_image.Width / 4;
    int preview_height = original_image.Height / 4;
    //display
    int r=Convert.ToInt32(Math.Max(original_image.Width / 200, original_image.Height / 200));
    r
    = (r == 0 ? 1 : r);
    int display_width = original_image.Width / r;
    int display_height = original_image.Height / r;
    #endregion

    #region 上传图片
    //preview
    final_image = new System.Drawing.Bitmap(preview_width, preview_height);
    graphic
    = System.Drawing.Graphics.FromImage(final_image);
    graphic.FillRectangle(
    new System.Drawing.SolidBrush(System.Drawing.Color.Black), new System.Drawing.Rectangle(0, 0, preview_width, preview_height));
    graphic.InterpolationMode
    = System.Drawing.Drawing2D.InterpolationMode.HighQualityBicubic;
    graphic.DrawImage(original_image,
    0, 0, preview_width, preview_height);

    filename
    = FileName;
    final_image.Save(System.IO.Path.Combine(HttpContext.Current.Request.PhysicalApplicationPath, preveiw
    + filename), System.Drawing.Imaging.ImageFormat.Jpeg);
    final_image
    = null;
    graphic
    = null;
    uploadPath[
    0] = preveiw + filename;
    //display
    final_image = new System.Drawing.Bitmap(display_width, display_height);
    graphic
    = System.Drawing.Graphics.FromImage(final_image);
    graphic.FillRectangle(
    new System.Drawing.SolidBrush(System.Drawing.Color.Black), new System.Drawing.Rectangle(0, 0, display_width, display_height));
    graphic.InterpolationMode
    = System.Drawing.Drawing2D.InterpolationMode.HighQualityBicubic;
    graphic.DrawImage(original_image,
    0, 0, display_width, display_height);

    final_image.Save(System.IO.Path.Combine(HttpContext.Current.Request.PhysicalApplicationPath, display
    + filename), System.Drawing.Imaging.ImageFormat.Jpeg);
    final_image
    = null;
    graphic
    = null;
    uploadPath[
    1] = display + filename;

    //print
    final_image = new System.Drawing.Bitmap(original_image.Width, original_image.Height);
    graphic
    = System.Drawing.Graphics.FromImage(final_image);
    graphic.FillRectangle(
    new System.Drawing.SolidBrush(System.Drawing.Color.Black), new System.Drawing.Rectangle(0, 0, original_image.Width, original_image.Height));
    graphic.InterpolationMode
    = System.Drawing.Drawing2D.InterpolationMode.HighQualityBicubic;
    graphic.DrawImage(original_image,
    0, 0,original_image.Width,original_image.Height);

    final_image.Save(System.IO.Path.Combine(HttpContext.Current.Request.PhysicalApplicationPath, print
    +filename), System.Drawing.Imaging.ImageFormat.Jpeg);
    final_image
    = null;
    graphic
    = null;
    uploadPath[
    2] = print + filename;

    #endregion

    return uploadPath;
    }
    catch (Exception ex)
    {
    System.Console.Error.Write(ex.Message);
    return null;
    }
    }
  • 相关阅读:
    [禅悟人生]生活中的烦恼, 一笑了之
    [禅悟人生]开放你的胸怀, 释放自己的灵魂
    [唐诗]诗(选二首)-王梵志
    [唐诗]吾富有钱时-王梵志
    [数分提高]2014-2015-2第6教学周第2次课讲义 3.4 导数的综合应用
    [数分提高]2014-2015-2第6教学周第1次课
    [数分提高]2014-2015-2第5教学周第2次课
    [数分提高]2014-2015-2第5教学周第1次课
    [数分提高]2014-2015-2第4教学周第2次课
    [数分提高]2014-2015-2第6教学周第1次课讲义 3.3 Taylor 公式
  • 原文地址:https://www.cnblogs.com/jinweida/p/1332769.html
Copyright © 2020-2023  润新知