我正在为电子邮件生成一个 html 字符串。我有一些看起来像的东西:
<td><img src='whatever.jpg' width='100' style='float:left'/></td>
问题在于,虽然行之间的宽度相等,但根据原始图像的大小,有些行会超高或超小。我想让它将图像缩放到适合 100x100 边界框的任何大小,同时保持纵横比。我试过:
<td><img src='whatever.jpg' width='100' height='100' style='float:left'/></td>
但这会破坏原始的纵横比。我也试过设置 td 元素的高度,但这似乎没有效果。
在生成 html 时加载和检查图像大小是不可行的,因为我无法控制图像,它们可能会发生变化。
最佳答案
好吧,你的要求让你陷入困境。
不能真正使用外部服务来调整图像大小,因为这可能会消除进行图像点击跟踪的可能性,除非您打算自己构建该功能(玩得开心,单独运行我公司的点击跟踪器的代码很痛苦,而且它不会调整任何大小)
电子邮件不使用 Javascript,所以请抛开所有这些想法
Outlook 07 等不支持几个常用命令,例如 作为 float (去图)看到这个compatibility issues with Email programs
显而易见的答案是 ImageMagic 或 GD 在您为发件人组装 html 时调整大小,但您在回答中说您无法控制图像,并且在加载 HTML 时这是不可行的。在我看来,您要么别无选择,要么必须返回外部服务解决方案,例如此处:http://resize.to/从好的方面来说,只需在 resize.to 网站上输入一个 URL 即可让事情发生,它会返回一个有效的调整大小的图像。不太可怕。
关于html - HTML 表格中的自动缩放图像,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5464271/