En la etiqueta de imagen, si no proporcionamos propiedades de ancho y alto, no obtendremos nada al recuperar el ancho y el alto de la imagen. Estoy usando el elemento canvas para cargar una imagen y escalar proporcionalmente. Para hacer esto, tengo que obtener el tamaño real de la imagen. ¿Es posible hacer eso en html 5?¿Podemos obtener el tamaño real de la imagen a través del lienzo?
Respuesta
No entendí completamente su pregunta.
Pero puede usar javascript para obtener el ancho y alto de la imagen.
y luego pasarlo a
/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);
mientras dibuja la imagen sobre lienzo.
o comprobar esto si ayuda
si he entendido bien, puede utilizar el método getComputedStyle
.
var object = document.getElementById(el);
var computedHeight = document.defaultView.getComputedStyle(object, "").getPropertyValue("width");
El HTMLImageElement
tiene dos propiedades para esto, naturalWidth
y naturalHeight
. Usa esos.
Como en:
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
Es una buena idea para configurar la fuente sólo después se define el detector de eventos, ver la exploración de Phrogz en ese aquí: Should setting an image src to data URL be available immediately?
no puede recuperar anchura/altura ante la imagen ha sido cargado.
Pruebe algo como:
// 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";
De todos modos onload no se disparará si la imagen se ha cargado antes de la ejecución del script. Finalmente, puede insertar una secuencia de comandos en html <img src="test.jpg" onload="something()">
- 1. obtener clics a través del lienzo html
- 2. Obtener tamaño de imagen real, después de cambiar el tamaño
- 3. obtener el tamaño real en la visualización NSImageView
- 4. PHP GD - cambio de tamaño de marco/imagen de imagen pero no la imagen real
- 5. ¿Cómo obtener el tamaño real de JPanel?
- 6. jquery obtener tamaño de imagen
- 7. moviendo una imagen a través de un lienzo html
- 8. Cómo establecer el tamaño del lienzo?
- 9. Pinche para ampliar el tamaño del lienzo
- 10. Obtener tamaño de imagen desde el controlador
- 11. ¿Cómo puedo obtener el tamaño del lienzo de una vista personalizada fuera del método onDraw?
- 12. Cómo cambiar el tamaño del elemento de lienzo html?
- 13. Obtener el tamaño del clúster de un disco duro (a través del código)
- 14. Determinación del tamaño o dimensiones del archivo de imagen a través de Javascript?
- 15. ¿Cómo obtener el tamaño real de CALayer transformado?
- 16. Cruce iterativo a través del árbol para encontrar el tamaño
- 17. Photoshop en línea a través del lienzo de HTML 5?
- 18. Cambiar el tamaño de la imagen proporcionalmente para caber en el lienzo de HTML5
- 19. ¿Cómo obtener el tamaño de fotograma real [UIScreen mainScreen]?
- 20. ¿El tamaño de píxel de Canvas HTML5 depende del tamaño del lienzo?
- 21. aumentando el tamaño de cadena a través del bucle
- 22. Lienzo HTML5: ¿hay alguna manera de cambiar el tamaño de la imagen con el remuestreo del "vecino más cercano"?
- 23. Obtener el tamaño completo de la imagen en javascript/jquery
- 24. ¿Cómo obtener el tamaño de la vida real de un objeto a partir de una imagen, cuando no se conoce la distancia entre el objeto y la cámara?
- 25. ¿Cómo obtener la imagen del canal de YouTube a través de un nombre de usuario?
- 26. Blackberry: cómo cambiar el tamaño de la imagen?
- 27. Copie la imagen del servidor remoto a través de HTTP
- 28. Obtener el tamaño del sistema RAM
- 29. Paperclip recuperar imagen directamente a través de la url
- 30. MobileSafari no devolver la información de tamaño de imagen de la derecha a través de JavaScript
¿Admitirá todos los navegadores modernos? – LittleFunny