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

 找回密码
 注册
搜索
打印 上一主题 下一主题

C# Image自动调整图片大小,picture auto resize-教学

[复制链接]
跳转到指定楼层
1#
发表于 2012-4-28 11:27:38 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
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.         }
复制代码

手机版|大马资讯论坛  

GMT+8, 2024-12-4 07:24 , Processed in 0.015668 second(s), 13 queries , File On.

Powered by Discuz! X3.3

© 2001-2017 Comsenz Inc.

快速回复 返回顶部 返回列表