我尝试过这样的事情:
var Height = $(this).naturalHeight;
Run Code Online (Sandbox Code Playgroud)
但它不起作用.有没有办法做到这一点
greez
我需要在给定特定来源的情况下获得图像的原始宽度和高度.我目前的方法是:
img.tag = "<img style='display:none;' src='" + img.src + "' />";
img.Owidth = 0;
img.Oheight = 0;
$(img.tag).load(function() {
img.Owidth = $(this).width();
img.Oheight = $(this).height();
}).appendTo(img.parent());
Run Code Online (Sandbox Code Playgroud)
使用Owidth并Oheight成为加载图像的原始尺寸.我想知道是否有更好的方法来做到这一点:
我需要以实际尺寸显示图像,即使它比容器大.我尝试了使用Image变量并在加载时捕获大小的技巧,如下所示:
HTML:
<div ng-controller="MyCtrl">
<input ng-model="imageurl" type="url" />
<button ng-click="loadimage()" type="button">Load Image</button>
<img ng-src="{{image.path}}"
style="width: {{image.width}}px; height: {{image.height}}px" />
</div>
Run Code Online (Sandbox Code Playgroud)
使用Javascript:
.controller("MyCtrl", ["$scope", function ($scope) {
$scope.image = {
path: "",
width: 0,
height: 0
}
$scope.loadimage = function () {
var img = new Image();
img.onload = function () {
$scope.image.width = img.width;
$scope.image.height = img.height;
$scope.image.path = $scope.imageurl;
}
img.src = $scope.imageurl;
}
}]);
Run Code Online (Sandbox Code Playgroud)
此脚本有效,但只有在图像很大的情况下多次单击按钮后才能使用.
我该怎么做才能让它一键完成?
有没有比这更好的方法来发现图像大小?
从第一天开始,这个问题一直困扰着我:
如果我有一个图像,我用css调整大小:
.img {
width:100%;
height:auto;
}
Run Code Online (Sandbox Code Playgroud)
让我们说我会通过使用来获得这个图像的高度
var imgH = $('.img').height();
Run Code Online (Sandbox Code Playgroud)
imgH将在0中返回,但我想获得css处理过的大小的高度,如何解决?
谢谢!
对不起你们是对的,我试过这些例子并在我的客户端项目上进行了测试,结果他们都工作了,我试图重现值0错误,但我没有.我有点迷失在此,而我还记得我曾经困在这里几次.无论如何,问题解决了,感谢@SrinivasR!:)