我为我的网站做的工作很少,我想自动调整我的图像大小。但不仅自动调整大小,而且保持它们成比例,即使我调整了它们的宽度或高度。我想添加额外的白色边框来补偿新空间。
我过去从未做过任何图像工作,我应该如何处理?
我为我的网站做的工作很少,我想自动调整我的图像大小。但不仅自动调整大小,而且保持它们成比例,即使我调整了它们的宽度或高度。我想添加额外的白色边框来补偿新空间。
我过去从未做过任何图像工作,我应该如何处理?
计算高度,就好像宽度适合,然后检查容器的高度。如果它更高,则计算宽度以使高度适合:
newHeight = oldHeight * containerWidth / oldWidth;
if (newHeight <= containerHeight) {
newWidth = containerWidth;
} else {
newWidth = oldWidth * containerHeight / oldHeight;
newHeight = containerHeight;
}
现在您可以计算放置图像以使其居中的位置:
x = (containerWidth - newWidth) / 2;
y = (containerHeight - newHeight) / 2;
如果您正在谈论单源成像,您可以在其中上传主图像并通过查询字符串请求它的版本,那么我可以提供帮助。
我是http://imageresizing.net/的作者。这是一个由附加插件资助的开源库。
您想要的功能包含在免费核心中 - 只需安装并将 ?width=100&height=100 添加到任何图像 URL。
从 ASP.NET 进行图像处理非常棘手。除非你有很强的 Win/C++ 背景,否则你真的不应该这样做。.NET 不会垃圾收集 System.Drawing 实例。