在本篇文章中,我将介绍如何在C#中来调整你想要的图像大小。要实现这一目标,我们可以采取以下几个步骤:
1.首先要获取你想要调整大小的图像:
1 2 | string path = Server.MapPath( "~/Images" ); System.Drawing.Image img = System.Drawing.Image.FromFile( string .Concat(path, "/3904.jpg" )); |
2.将图像转换为Bitmap:
1 | Bitmap b = new Bitmap(img); |
3.创建一个调整图像大小的方法:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 | private static System.Drawing.Image resizeImage(System.Drawing.Image imgToResize, Size size) { //获取图片宽度 int sourceWidth = imgToResize.Width; //获取图片高度 int sourceHeight = imgToResize.Height; float nPercent = 0; float nPercentW = 0; float nPercentH = 0; //计算宽度的缩放比例 nPercentW = (( float )size.Width / ( float )sourceWidth); //计算高度的缩放比例 nPercentH = (( float )size.Height / ( float )sourceHeight); if (nPercentH < nPercentW) nPercent = nPercentH; else nPercent = nPercentW; //期望的宽度 int destWidth = ( int )(sourceWidth * nPercent); //期望的高度 int destHeight = ( int )(sourceHeight * nPercent); Bitmap b = new Bitmap(destWidth, destHeight); Graphics g = Graphics.FromImage((System.Drawing.Image)b); g.InterpolationMode = InterpolationMode.HighQualityBicubic; //绘制图像 g.DrawImage(imgToResize, 0, 0, destWidth, destHeight); g.Dispose(); return (System.Drawing.Image)b; } |
在上面的方法中,我们获取了位图图像,然后绘制了不同尺寸的图像(这里绘制出的图像是基于指定的纵横比)
4.调用上述方法,得到调整大小之后的图片:
1 | System.Drawing. Image i = resizeImage(b, new Size(100, 100)); |
输出结果: