• 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         }
  • 相关阅读:
    关于用户、用户组及文件权限的试题
    lvm-简介
    项目中用到的jar包简介(1)
    Centos7开启SSH服务
    2.docker架构,原理,安装及简单应用
    如何平滑将注册中心从Eureka迁移到Nacos?
    8.k8s连载--重新生成k8s token(kubeadm join报错及解决)
    7. 复制k8s Node节点 并重新初始化k8s-nodes2节点 (k8s连载)
    6. k8s + jenkins 实现持续集成(完)
    5.k8s基本命令汇总
  • 原文地址:https://www.cnblogs.com/gc2013/p/3652469.html
Copyright © 2020-2023  润新知