asp.net 图片压缩

Posted on 2009-03-25 21:32  ymss  阅读(736)  评论(1)    收藏  举报

 #region imageCompress
    
/// <summary>
    
/// 图片压缩函数
    
/// </summary>
    
/// <param name="sourceFile">原始图片文件</param>
    
/// <param name="quality">质量压缩比</param>
    
/// <param name="ouputFile">输出文件名,请用 .jpg 后缀 </param>
    
/// <returns>成功返回true,失败则返回false</returns>

    public static bool imageCompress(String sourceFile,long quality,String outputFile)
    
{
        
try
        
{
            
long imageQuality                      =    quality;
            Bitmap sourceImage                     
=    new Bitmap(sourceFile);
            ImageCodecInfo myImageCodecInfo        
=    GetEncoderInfo("image/jpeg");
            Encoder myEncoder                      
=    Encoder.Quality;
            EncoderParameters myEncoderParameters  
=    new EncoderParameters(1);
            EncoderParameter myEncoderParameter    
=    new EncoderParameter(myEncoder, imageQuality);
            myEncoderParameters.Param[
0]           =    myEncoderParameter;
           
            sourceImage.Save(outputFile, myImageCodecInfo, myEncoderParameters);
            
return true;

        }

        
catch
        
{
            
return false;
        }


    }

    
#endregion
 imageCompress

 #region ImageCodecInfo
    
/// <summary>
    
/// 获取图片编码信息
    
/// </summary>

    private static ImageCodecInfo GetEncoderInfo(String mimeType)
    
{
        
int j;
        ImageCodecInfo[] encoders;
        encoders 
= ImageCodecInfo.GetImageEncoders();
        
for (j = 0; j < encoders.Length; ++j)
        
{
            
if (encoders[j].MimeType == mimeType)
                
return encoders[j];
        }

        
return null;
    }

    
#endregion
 ImageCodeInfo

博客园  ©  2004-2026
浙公网安备 33010602011771号 浙ICP备2021040463号-3