在图像标签中,如果我们不提供宽度和高度属性,那么当检索图像的宽度和高度时,我们什么也得不到。我使用canvas元素来加载图像并按比例缩放它。为了做到这一点,我必须得到实际的图像大小。有没有可能在HTML 5中做到这一点?我们可以通过画布获得真实的图像大小吗?
5
A
回答
0
不完全明白你的问题。
但是,您可以使用JavaScript来获取图像的宽度和高度。
,然后将其传递到
/Five arguments: the element, destination (x,y) coordinates, and destination
// width and height (if you want to resize the source image).
context.drawImage(img_elem, dx, dy, dw, dh);
而在画布上绘制图像。
或查看它是否有助于
1
如果我理解正确的话,你可以使用getComputedStyle
方法。
var object = document.getElementById(el);
var computedHeight = document.defaultView.getComputedStyle(object, "").getPropertyValue("width");
6
的HTMLImageElement
具有用于这两个属性,naturalWidth
和naturalHeight
。使用这些。
如:
var img = new Image();
img.addEventListener('load', function() {
// once the image is loaded:
var width = img.naturalWidth; // this will be 300
var height = img.naturalHeight; // this will be 400
someContext.drawImage(img, 0, 0, width, height);
}, false);
img.src = 'http://placekitten.com/300/400'; // grab a 300x400 image from placekitten
这是明智的设置事件监听器被定义后,才源,看到这里Phrogz的探索:Should setting an image src to data URL be available immediately?
3
无法检索宽度/高度形象一直前加载。
试着这么做:
// create new Image or get it right from DOM,
// var img = document.getElementById("myImage");
var img = new Image();
img.onload = function() {
// this.width contains image width
// this.height contains image height
}
img.src = "image.png";
总之,如果形象脚本执行之前被加载的onload不会火。最终你可以在html中嵌入脚本<img src="test.jpg" onload="something()">
相关问题
- 1. 我们可以放大缩小我们在画布上绘制的图画吗?
- 2. 我们真的可以通过CUDA流获得性能提升吗?
- 3. 放大/缩小后我们可以获得元素的大小吗?
- 4. 我们可以使用jquery调整图像大小吗?
- 5. 我们可以用php减少图像文件大小吗?
- 6. 我们可以通过缩放缩放的代码缩小图像吗?
- 7. 我们可以更新视图中的真实数据吗?
- 8. 我们可以通过CDN提供HEIF图像吗?
- 9. 我们可以在Databinding的xml布局中获得Root View吗?
- 10. 我可以从画布的fillStyle中获得r,g和b吗?
- 11. 我们可以像调整窗口大小一样调整Datagridview的大小吗?
- 12. 我可以居中画布图像
- 13. 我可以将画布导出到Java中的图像吗?
- 14. 我们可以通过后面的代码更改字体大小吗?
- 15. 我可以通过“iptables”获得真实的用户IP:false是否启用?
- 16. 通过模板获取图像大小?
- 17. 我们可以将CSS用于仅比固定大小更宽的图像吗?
- 18. 使画布中的图像可拖动/可调整大小?
- 19. 我可以将上传的图像设置为画布的背景图像吗?
- 20. 我可以在画布上打印图像吗?
- 21. 我们可以通过Facebook Graph API中的付款ID获得订阅ID吗?
- 22. 我们可以用我们可以malloc的大小来memset相同的大小吗?
- 23. 在WPF中,我如何获得FrameworkElement的真实大小?
- 24. HTML5:画布和图像大小
- 25. html5画布图像调整大小
- 26. 调整图像大小在画布上
- 27. 我可以下载调整大小的图像吗?
- 28. 我可以通过JavaScript获取图像的文件大小和MIME类型吗(仅限FireFox/Gecko/Mozilla)
- 29. 我可以通过实体SQL获取实体吗?
- 30. 我们可以通过编程方式在j2me中获得电话号码吗?
它会支持所有现代浏览器 – LittleFunny 2012-02-04 11:16:32