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 
            { 
            } 
        } 

  • 相关阅读:
    SSDT
    SSDT
    Rootkit之SSDT hook(通过CR0)
    直接用编译器按ctrl+F5运行和双击运行结果不一样
    HDU 1754 I Hate It
    HDU 1166 敌兵布阵
    网易2017内推笔试题 合唱团
    CodeForces 1151F Sonya and Informatics
    CodeForces 1151E Number of Components
    洛谷 P1962 斐波那契数列
  • 原文地址:https://www.cnblogs.com/rickel/p/639600.html
Copyright © 2011-2022 走看看