获得缩放图像的高度
Getting height of scaled image
我正在获取图像的原始大小。有css应用到图像通过max-width:473px;
和高度是由浏览器自动调整大小。但是在图像load event
中,我得到了原始的,未缩放的大小。
所以基本上原始图像大小为506x337
, css规则后图像变为473x315
。如何在load event
中获得315px
的高度?
更新
下面是用于测试的代码片段:http://jsfiddle.net/CXNan/您也可以使用
this.offsetHeight
看小提琴。它包含只读像素大小,参见参考资料。它在MSIE中得到支持,并且应该是跨浏览器可靠的。
这将给你计算出的元素高度,就像我在评论@ Question中发布的那样。
window.getComputedStyle(document.getElementById("idOfYourImage"), null).getPropertyValue("height")
正如你们已经注意到的,它不是跨浏览器的(也就是说不是IE或旧的东西)。
我已经找到了这个getComputedStyle的IE,但无法测试它。可能是可以的,因为正如http://ie.microsoft.com/testdrive/HTML5/getComputedStyle/所说,旧的IE API被称为currentStyle
,这是"getComputedStyle for IE"使用的。
currentStyle的唯一问题是getComputedStyle
将总是返回一个像素值,如果可能的话,而currentStyle
返回原始值(所以width:50%
在css上将返回50%,而不是父元素的50%像素大小)。
将最大宽度除以长宽比,您将得到缩放后的高度。请注意,如果图像小于最大宽度,则不会进行缩放。像这样:
var height = img.width > 473 ? 473 / (img.width/img.height) : img.height;
相关文章:
- 使用JavaScript根据窗口/视口的高度动态调整图像大小
- 如果宽度是百分比,如何设置以px为单位的图像高度
- 根据图像高度添加类
- 图像宽度和高度,无拉伸或溢出
- 自动缩放图像以匹配文本高度
- 使用asp.net FileUpload时从javascript获取图像宽度和高度
- whay可以't我使用javascript同时更改图像的高度和宽度
- Cloudinary上传小部件-样式上传预览图像(宽度和高度)
- 尝试使用window.innerHeight和Javascript设置图像高度
- 如果我将宽度调整为另一个值,找出我的图像的高度
- Javascript图像宽度和高度未定义值
- 我想根据容器中包含的图像设置容器的高度
- 高图表图像渲染器自动高度
- 灯箱类型的东西,使图像成为浏览器高度的百分比
- 如何在浏览器宽度/高度变化时动态调整图像网格的大小
- 当溢出-x 设置为隐藏时处理可变高度图像的最佳方法是什么?
- 在画布HTML5中查找上传的宽度和高度图像.(带文件读取器)
- 使用JavaScript查找图像的高度-图像加载错误
- 将悬停效果应用于响应高度图像
- 垂直居中可变高度图像,同时保持最大宽度/高度