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