Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/extjs/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 从dataurl获取图像高度和宽度_Javascript_Php_Image - Fatal编程技术网

Javascript 从dataurl获取图像高度和宽度

Javascript 从dataurl获取图像高度和宽度,javascript,php,image,Javascript,Php,Image,将图像源作为dataurl,是否有办法在javascript或PHP中获取图像高度和宽度,以便将其设置为div的属性 还是有更好的方法使div缩放到图像大小。考虑到图像在div.c/p>的CSS中被用作背景图像< /代码>属性。如果你知道图像的纵横比,那么你可以创建一个响应性的 。 例如,如果图像为300x180-则纵横比为 1:0.6 (180/300=0.6)这意味着如果图像宽度为100%,则图像高度为60% .image { background-image: url(http://l

将图像源作为dataurl,是否有办法在javascript或PHP中获取图像高度和宽度,以便将其设置为div的属性


还是有更好的方法使div缩放到图像大小。考虑到图像在div.c/p>的CSS中被用作<代码>背景图像< /代码>属性。如果你知道图像的纵横比,那么你可以创建一个响应性的<代码> <代码>。 例如,如果图像为300x180-则纵横比为

1:0.6

(180/300=0.6)这意味着如果图像宽度为100%,则图像高度为60%

.image {
  background-image: url(http://lorempixel.com/output/nature-q-c-300-180-1.jpg);
  background-repeat: no-repeat;
  background-size: cover;
  padding-bottom: 60%;
}

可以看到这一点,但获取图像的第二份副本、读取加载后的高度,然后修改div的样式需要一些时间。它在屏幕上可能非常浮华,硬编码更好。事实上是这样。有问题的是,一旦加载,是否有任何方法可以根据背景图像制作div比例?我不这么认为。走另一条路很容易(bg适合div)。您可以尝试使用非交互式超大div,它不会缩放图像,并且在图像无法到达的地方是透明的。指针事件:无;在JavaScript中,您可以根据需要缩放显示div,只需将图像的高度和宽度从PHP传递到JavaScript即可。但是我相信你应该把图像渲染留给PHP,除非你有一些华丽的JavaScript。也许可以使用base-64字符串获取图像的大小