zoukankan      html  css  js  c++  java
  • [C#]asp.net生成高清晰缩略图

    Code
    /// <summary> 
    /// 生成缩略图 
    /// </summary> 
    /// <param name="originalImagePath">源图路径(物理路径)</param> 
    /// <param name="thumbnailPath">缩略图路径(物理路径)</param> 
    /// <param name="width">缩略图宽度</param> 
    /// <param name="height">缩略图高度</param>   
    public  void MakeThumbnail(string originalImagePath, string thumbnailPath, int width, int height) 

        System.Drawing.Image   originalImage 
    = System.Drawing.Image.FromFile(originalImagePath); 

        
    int towidth = 0
        
    int toheight =0
        
    if(originalImage.Width>width &&originalImage.Height<height) 
        { 
        towidth 
    = width; 
        toheight 
    = originalImage.Height; 
        } 

        
    if (originalImage.Width<width && originalImage.Height >height) 
        { 
        towidth 
    = originalImage.Width; 
        toheight 
    = height; 
        } 
        
    if (originalImage.Width > width && originalImage.Height > height) 
        { 
        towidth 
    = width; 
        toheight 
    = height; 
        } 
        
    if (originalImage.Width < width && originalImage.Height < height) 
        { 
        towidth 
    = originalImage.Width; 
        toheight 
    = originalImage.Height; 
        } 
        
    int x = 0;//左上角的x坐标 
        int y = 0;//左上角的y坐标 
        

        
    //新建一个bmp图片 
        System.Drawing.Image bitmap = new System.Drawing.Bitmap(towidth, toheight); 

        
    //新建一个画板 
        Graphics g = System.Drawing.Graphics.FromImage(bitmap); 

        
    //设置高质量插值法 
        g.InterpolationMode = System.Drawing.Drawing2D.InterpolationMode.High; 

        
    //设置高质量,低速度呈现平滑程度 
        g.SmoothingMode = System.Drawing.Drawing2D.SmoothingMode.HighQuality; 

        
    //清空画布并以透明背景色填充 
        g.Clear(Color.Transparent); 

        
    //在指定位置并且按指定大小绘制原图片的指定部分 
        g.DrawImage(originalImage,x,y,towidth,toheight); 

        
    try 
        { 
        
    //以jpg格式保存缩略图 
        bitmap.Save(thumbnailPath, System.Drawing.Imaging.ImageFormat.Jpeg); 
        } 
        
    catch (System.Exception e) 
        { 
        
    throw e; 
        } 
        
    finally 
        { 
        originalImage.Dispose(); 
        bitmap.Dispose(); 
        g.Dispose(); 
        } 
    }
  • 相关阅读:
    Unknown failure (Failure
    javascript中offsetWidth、clientWidth、width、scrollWidth、clientX、screenX、offsetX、pageX
    Pandas透视表(pivot_table)详解
    机器学习之开源库总结
    VS常用快捷键(2012)
    解决新版Pycharm中Matplotlib图像不在弹出独立的显示窗口问题
    VS中使用C的一些函数报错的问题
    基于 VS2019 配置 opencv4.x
    lena全身像
    机器学习:频率派和贝叶斯派
  • 原文地址:https://www.cnblogs.com/qumao5736/p/1374372.html
Copyright © 2011-2022 走看看