在asp.net中标准化jpeg大小

时间:2012-04-19 02:17:55

标签: c# asp.net image

我正在为所有员工显示SQL Server数据库中的图像。 当这些图像存储在数据库中时,它们以不同的大小存储。一个尺寸较小,另一个尺寸较大。

当我说尺寸时,我指的是宽度和高度。

当我在aspx页面中显示它时,我希望以300X250尺寸显示

我该怎么做?如果我设置图像控制高度和宽度,图像会失真。

请帮忙

4 个答案:

答案 0 :(得分:2)

看看ImageResizer.net。它拥有您需要的一切,包括用于SQL Server集成的代码示例和保留宽高比的裁剪:

http://imageresizing.net/

最受欢迎的功能是免费和开源的:

  • 调整大小,裁剪,旋转,翻转
  • 边框,阴影,填充,背景颜色
  • 可调整的Jpeg压缩。多页tiff观看
  • 动画GIF帧选择。全面的实时诊断
  • 基本GIF和PNG编码
  • 渐变生成

答案 1 :(得分:1)

如果设置300x250尺寸时图像失真,可能是因为纵横比不同。尝试设置宽度或高度。

答案 2 :(得分:1)

关于你的问题,你可以做几件事,

  1. 您可以使用算法调整图像大小,同时将高度保持在高度之间。您需要为旧图像和每个新图像运行它。这是一篇可以帮助您入门的文章:http://www.codeproject.com/Articles/13192/Image-Resizing-Maintaining-Height-Width-Ratio

  2. 您可以在已存储在数据库中的所有图像上运行代码,如果大于允许的限制,则可以裁剪它们。并为新上传的图像放置相同的裁剪机制。

  3. 在显示图像时,您需要检查高度/宽度,并且只有在超出理想限制时才将其缩小。

  4. 对于所有方法,如果图像的高度/宽度小于您想要的那些,那么您只需要保留它们,否则它们会变形。

    此外,我确实想告诉你,放置图像,就此而言,数据库中的任何其他文件都是不好的做法:(这是内存上的开销。更好的做法是把它放在文件系统中,你可以google进一步发现这种方法的优点。

答案 3 :(得分:0)

  1. 在HTML中,您应指定文件的实际高度和宽度。

    如果不这样做,图像可能会扭曲,和/或使用“锯齿”渲染。

  2. 如果您真的想要制作300x250的图像,那么您需要使用The Gimp,Photoshop或ImageMagick等工具来调整大小和/或将其裁剪到所需的高度,宽度。