在C#中缩放图像的好方法是什么?

时间:2010-03-08 12:40:07

标签: c# image scaling image-scaling

我有一个网站,其中包含很多项目,每个项目都包含一个侧边栏。

在此侧栏中,可以将图像附加到项目中。附加的图像将显示在一个图库中,底部有3个小拇指,图库顶部有一个较大的图像。当访问者点击图库底部的小拇指时,大图像将刷新到另一个图像。

拇指没问题,它们显示正确。

我的问题是画廊顶部的更大图像。上传的图片有各种各样的尺寸,而我的版块宽度为239,高度为179.什么是缩放图像以便正确显示网站访问者的最佳方式?

谢谢Zapping(这段代码对我有用):

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);

3 个答案:

答案 0 :(得分:2)

您可以保持纵横比调整图像大小并重新保存。或者如果你想保持相同的图像,那么你可以找到新的高度和宽度,保持纵横比,并相应地应用img标签的高度和宽度属性。

您可以使用它们来调整图像大小或找到高度和宽度 http://snippets.dzone.com/posts/show/4336
http://www.switchonthecode.com/tutorials/csharp-tutorial-image-editing-saving-cropping-and-resizing

如果您决定保留较大尺寸的图像,也可以尝试平移 How to zoom in and zoom out image using jquery?

答案 1 :(得分:2)

答案 2 :(得分:0)

也可以使用CSS进行比例缩放。考虑100px宽,200px高的图像。

<img src="image.png" style="max-width:50;max-height:50;">

将图像放入50x50px的框中,即产生25x50px的图像。类似地,

<img src="image.png" style="min-width:500;min-height:500;">

将生成并映像500x1000px。

在你的情况下

<img src="image.png" style="max-width:239;max-height:179;">

这可能是一个很好的解决方案,因为你的图像很小,无论如何你要加载缩略图和图像,也可能是相同的图像,节省带宽并使用缓存。