0

我为我的网站做的工作很少,我想自动调整我的图像大小。但不仅自动调整大小,而且保持它们成比例,即使我调整了它们的宽度或高度。我想添加额外的白色边框来补偿新空间。

我过去从未做过任何图像工作,我应该如何处理?

4

2 回答 2

8

计算高度,就好像宽度适合,然后检查容器的高度。如果它更高,则计算宽度以使高度适合:

newHeight = oldHeight * containerWidth / oldWidth;
if (newHeight <= containerHeight) {
  newWidth = containerWidth;
} else {
  newWidth = oldWidth * containerHeight / oldHeight;
  newHeight = containerHeight;
}

现在您可以计算放置图像以使其居中的位置:

x = (containerWidth - newWidth) / 2;
y = (containerHeight - newHeight) / 2;
于 2012-05-25T16:59:28.763 回答
-1

如果您正在谈论单源成像,您可以在其中上传主图像并通过查询字符串请求它的版本,那么我可以提供帮助。

我是http://imageresizing.net/的作者。这是一个由附加插件资助的开源库。

您想要的功能包含在免费核心中 - 只需安装并将 ?width=100&height=100 添加到任何图像 URL。

从 ASP.NET 进行图像处理非常棘手。除非你有很强的 Win/C++ 背景,否则你真的不应该这样做。.NET 不会垃圾收集 System.Drawing 实例。

于 2012-05-28T21:45:31.543 回答