软件编程
位置:首页>> 软件编程>> C#编程>> C#实现为一张大尺寸图片创建缩略图的方法

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

作者:红薯  发布时间:2021-08-03 21:07:15 

标签:C#,缩略图

本文实例讲述了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#程序设计有所帮助。

0
投稿

猜你喜欢

手机版 软件编程 asp之家 www.aspxhome.com