大马资讯论坛 - 马来西亚中文资讯平台

标题: C# Image自动调整图片大小,picture auto resize-教学 [打印本页]

作者: 资讯王    时间: 2012-4-28 11:27
标题: C# Image自动调整图片大小,picture auto resize-教学
Image自动调整图片大小,picture auto resize。当你的图片超过一定的数值,你可以自动把他缩小,你的荧幕就看得到啦...

使用方式
  1. Image carImage = new Bitmap(new System.IO.MemoryStream((byte[])row["carImage"]));

  2. if (carImage.Height > 500 || carImage.Width > 500)
  3. {
  4.             carImage = resizeImage(carImage, new Size(300, 300));
  5. }
复制代码
添加以下的function
  1.         public static Image resizeImage(Image imgToResize, Size size)
  2.         {
  3.             int sourceWidth = imgToResize.Width;
  4.             int sourceHeight = imgToResize.Height;

  5.             float nPercent = 0;
  6.             float nPercentW = 0;
  7.             float nPercentH = 0;

  8.             nPercentW = ((float)size.Width / (float)sourceWidth);
  9.             nPercentH = ((float)size.Height / (float)sourceHeight);

  10.             if (nPercentH < nPercentW)
  11.                 nPercent = nPercentH;
  12.             else
  13.                 nPercent = nPercentW;

  14.             int destWidth = (int)(sourceWidth * nPercent);
  15.             int destHeight = (int)(sourceHeight * nPercent);

  16.             Bitmap b = new Bitmap(destWidth, destHeight);
  17.             Graphics g = Graphics.FromImage((Image)b);
  18.             g.InterpolationMode = InterpolationMode.HighQualityBicubic;

  19.             g.DrawImage(imgToResize, 0, 0, destWidth, destHeight);
  20.             g.Dispose();

  21.             return (Image)b;
  22.         }
复制代码





欢迎光临 大马资讯论坛 - 马来西亚中文资讯平台 (http://www.freeinfo.com.my/) Powered by Discuz! X3.3