冬眠
“如果你觉得自己在为傻瓜设计产品,那么很可能不仅无法设计出优秀的产品,而且连傻瓜也不喜欢你的设计。”--Paul Graham

导航

 
using System.Drawing.Imaging;

public void ResizePic(string oldFilePath, int thumbnailImageWidth, int thumbnailImageHeight, string targetFilePath)
{
    using (Image oldImg = Image.FromFile(oldFilePath))
    {
        using (Image thumnailImg = oldImg.GetThumbnailImage(thumbnailImageWidth, thumbnailImageHeight, null, IntPtr.Zero))
        {
            ImageCodecInfo imgCodeInfo = GetImageCodeInfo("image/jpeg");
            if (imgCodeInfo != null)
            {
                EncoderParameters encodeParameters = new EncoderParameters(1);
                encodeParameters.Param[0] = new EncoderParameter(System.Drawing.Imaging.Encoder.Quality, (long)100);
                Bitmap bmp = new Bitmap(thumnailImg);
                encodeParameters.Dispose();
                encodeParameters = null;
                bmp.Save(targetFilePath, imgCodeInfo, encodeParameters);
                bmp.Dispose();
            }
        }
    }
}

private static ImageCodecInfo GetImageCodeInfo(string mimeType)
{
    ImageCodecInfo[] encoders;
    encoders = ImageCodecInfo.GetImageEncoders();
    for (int i = 0; i < encoders.Length; i++)
    {
        if (encoders[i].MimeType == mimeType)
            return encoders[i];
    }
    return null;
}

 

posted on 2013-12-11 12:11  无尽的冬眠  阅读(359)  评论(0编辑  收藏  举报