zoukankan      html  css  js  c++  java
  • 生成高品质的缩略图

    转自:http://hi.baidu.com/zhaoyf/blog/item/06d6b812175371cec2fd7812.html

    高品质,就是指定Graphic的
    InterpolationMode属性为HighQualityBicubic

    public static void myGetThumbnailImage(string SourceFile, string strSavePathFile, int ThumbWidth, int ThumbHeight, string BgColor) 
        { 
            System.Drawing.Image oImg 
    = System.Drawing.Image.FromFile(SourceFile); 
            
    //小图 
            int intwidth, intheight; 
            
    if (oImg.Width > oImg.Height) 
            { 
                
    if (oImg.Width > ThumbWidth) 
                { 
                    intwidth 
    = ThumbWidth; 
                    intheight 
    = (oImg.Height * ThumbWidth) / oImg.Width; 
                } 
                
    else 
                { 
                    intwidth 
    = oImg.Width; 
                    intheight 
    = oImg.Height; 
                } 
            } 
            
    else 
            { 
                
    if (oImg.Height > ThumbHeight) 
                { 
                    intwidth 
    = (oImg.Width * ThumbHeight) / oImg.Height; 
                    intheight 
    = ThumbHeight; 
                } 
                
    else 
                { 
                    intwidth 
    = oImg.Width; 
                    intheight 
    = oImg.Height; 
                } 
            } 
            
    //构造一个指定宽高的Bitmap 
            Bitmap bitmay = new Bitmap(intwidth, intheight); 
            Graphics g 
    = Graphics.FromImage(bitmay); 
            Color myColor; 
            
    if (BgColor == null
                myColor 
    = Color.FromName("white"); 
            
    else 
                myColor 
    = Color.FromName(BgColor); 
            
    //用指定的颜色填充Bitmap 
            g.Clear(myColor); 
            g.InterpolationMode 
    = InterpolationMode.HighQualityBicubic;  
            
    //开始画图 
            g.DrawImage(oImg, new Rectangle(00, intwidth, intheight), new Rectangle(00, oImg.Width, oImg.Height), GraphicsUnit.Pixel); 
            bitmay.Save(strSavePathFile, System.Drawing.Imaging.ImageFormat.Jpeg); 
            g.Dispose(); 
            bitmay.Dispose(); 
            oImg.Dispose(); 
            
    //删除源图 
            try 
            { 
                File.Delete(SourceFile); 
            } 
            
    catch 
            { 
            } 
        } 

  • 相关阅读:
    Irrlicht入门教程,下载安装运行
    git 命令用法 流程操作
    summernote富文本编辑器的使用
    MVC进行多文件上传
    jQuery中的for循环var与let的区别
    识别图片中文字(百度AI)
    sublime安装 和 插件安装
    nopCommerce电子商务平台 安装教程(图文)
    springMVC 配置和使用
    mysql 一看就会 基本语法
  • 原文地址:https://www.cnblogs.com/rickel/p/639600.html
Copyright © 2011-2022 走看看