我正在为所有员工显示SQL Server数据库中的图像。 当这些图像存储在数据库中时,它们以不同的大小存储。一个尺寸较小,另一个尺寸较大。
当我说尺寸时,我指的是宽度和高度。
当我在aspx页面中显示它时,我希望以300X250尺寸显示
我该怎么做?如果我设置图像控制高度和宽度,图像会失真。
请帮忙
答案 0 :(得分:2)
看看ImageResizer.net。它拥有您需要的一切,包括用于SQL Server集成的代码示例和保留宽高比的裁剪:
最受欢迎的功能是免费和开源的:
答案 1 :(得分:1)
如果设置300x250尺寸时图像失真,可能是因为纵横比不同。尝试设置宽度或高度。
答案 2 :(得分:1)
关于你的问题,你可以做几件事,
您可以使用算法调整图像大小,同时将高度保持在高度之间。您需要为旧图像和每个新图像运行它。这是一篇可以帮助您入门的文章:http://www.codeproject.com/Articles/13192/Image-Resizing-Maintaining-Height-Width-Ratio
您可以在已存储在数据库中的所有图像上运行代码,如果大于允许的限制,则可以裁剪它们。并为新上传的图像放置相同的裁剪机制。
在显示图像时,您需要检查高度/宽度,并且只有在超出理想限制时才将其缩小。
对于所有方法,如果图像的高度/宽度小于您想要的那些,那么您只需要保留它们,否则它们会变形。
此外,我确实想告诉你,放置图像,就此而言,数据库中的任何其他文件都是不好的做法:(这是内存上的开销。更好的做法是把它放在文件系统中,你可以google进一步发现这种方法的优点。
答案 3 :(得分:0)
在HTML中,您应指定文件的实际高度和宽度。
如果不这样做,图像可能会扭曲,和/或使用“锯齿”渲染。
如果您真的想要制作300x250的图像,那么您需要使用The Gimp,Photoshop或ImageMagick等工具来调整大小和/或将其裁剪到所需的高度,宽度。