zoukankan      html  css  js  c++  java
  • C#生成高清缩略图

    01 /// <summary> 
    02    /// 为图片生成缩略图   
    03    /// </summary> 
    04    /// <param name="phyPath">原图片的路径</param> 
    05    /// <param name="width">缩略图宽</param> 
    06    /// <param name="height">缩略图高</param> 
    07    /// <returns></returns> 
    08    public System.Drawing.Image GetThumbnail(System.Drawing.Image image, int width, intheight) 
    09    
    10        Bitmap bmp = newBitmap(width, height); 
    11        //从Bitmap创建一个System.Drawing.Graphics 
    12        System.Drawing.Graphics gr = System.Drawing.Graphics.FromImage(bmp); 
    13        //设置  
    14        gr.SmoothingMode = System.Drawing.Drawing2D.SmoothingMode.HighQuality; 
    15        //下面这个也设成高质量 
    16        gr.CompositingQuality = System.Drawing.Drawing2D.CompositingQuality.HighQuality; 
    17        //下面这个设成High 
    18        gr.InterpolationMode = System.Drawing.Drawing2D.InterpolationMode.HighQualityBicubic; 
    19        //把原始图像绘制成上面所设置宽高的缩小图 
    20        System.Drawing.Rectangle rectDestination = newSystem.Drawing.Rectangle(0, 0, width, height); 
    21     
    22        gr.DrawImage(image, rectDestination, 0, 0, image.Width, image.Height, GraphicsUnit.Pixel); 
    23        returnbmp; 
    24    }

    调用方法

    01 HttpPostedFile file = photoFile.PostedFile; 
    02         if(!file.ContentType.Contains("image")) 
    03         
    04 return"照片格式不合法"
    05         
    06         stringext = Path.GetExtension(file.FileName).ToLower(); 
    07         if (ext != ".jpg" && ext != ".gif" && ext != ".png"&& ext != ".jpeg"
    08         
    09 return"请您上传jpg、gif、png图片"
    10         
    11         if(file.ContentLength > 5 * 1024 * 1024) 
    12         
    13 return"请您上传512字节内的图片"
    14         
    15         stringnewName = Guid.NewGuid().ToString(); 
    16         stringtempPath = "upload/"
    17         stringimg = tempPath + newName + ext; 
    18         stringfilePath = Server.MapPath(img); 
    19         if(!Directory.Exists(tempPath)) 
    20         
    21             Directory.CreateDirectory(tempPath); 
    22         
    23         using(System.Drawing.Image originalImage = System.Drawing.Image.FromStream(file.InputStream)) 
    24         
    25             GetThumbnail(originalImage, 504, 374).Save(filePath); 
    26         }
  • 相关阅读:
    POJ 1251 换成字母编号的最小生成树
    POJ 2421 有一条连通下的最小生成树
    最小生成树-Prim算法和Kruskal算法
    POJ 3083 相对位置的DFS的变形和BFS
    POJ 3278 抓牛简单广搜
    POJ 2488 DFS 模拟 马的跳动
    POJ 1572 字符串替换
    POJ 3984 迷宫问题 BFS+记录路径
    解救人质 BFS模板(迷宫问题)
    解救人质 DFS简单模板
  • 原文地址:https://www.cnblogs.com/gc2013/p/3652469.html
Copyright © 2011-2022 走看看