首页 > 编程 > C# > 正文

C#实现为一张大尺寸图片创建缩略图的方法

2020-01-24 01:43:10
字体:
来源:转载
供稿:网友

本文实例讲述了C#实现为一张大尺寸图片创建缩略图的方法。分享给大家供大家参考。具体实现方法如下:

public static Bitmap CreateThumbnail(string lcFilename, int lnWidth, int lnHeight){  System.Drawing.Bitmap bmpOut = null;  try  {    Bitmap loBMP = new Bitmap(lcFilename);    ImageFormat loFormat = loBMP.RawFormat;    decimal lnRatio;    int lnNewWidth = 0;    int lnNewHeight = 0;    //*** If the image is smaller than a thumbnail just return it    if (loBMP.Width < lnWidth && loBMP.Height < lnHeight)      return loBMP;    if (loBMP.Width > loBMP.Height)    {      lnRatio = (decimal)lnWidth / loBMP.Width;      lnNewWidth = lnWidth;      decimal lnTemp = loBMP.Height * lnRatio;      lnNewHeight = (int)lnTemp;    }    else    {      lnRatio = (decimal)lnHeight / loBMP.Height;      lnNewHeight = lnHeight;      decimal lnTemp = loBMP.Width * lnRatio;      lnNewWidth = (int)lnTemp;    }    bmpOut = new Bitmap(lnNewWidth, lnNewHeight);    Graphics g = Graphics.FromImage(bmpOut);    g.InterpolationMode = System.Drawing.Drawing2D.InterpolationMode.HighQualityBicubic;    g.FillRectangle(Brushes.White, 0, 0, lnNewWidth, lnNewHeight);    g.DrawImage(loBMP, 0, 0, lnNewWidth, lnNewHeight);    loBMP.Dispose();  }  catch  {    return null;  }  return bmpOut;}

希望本文所述对大家的C#程序设计有所帮助。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表