Estoy tratando de obtener el ancho y el alto de una imagen usando su URL src.
Este código genera "undefinedxundefined" en la consola.
Esto es lo que tengo ahora:
getImageSize(image: string) { let width; let height; let img = new Image(); img.src = image; img.onload = function (event) { let targetImg = event.currentTarget as HTMLImageElement; width = targetImg.width; height = targetImg.height } return width + "x" + height;}
Estoy usando la versión 12.2.11 de Angular.
¡¡Gracias!!
Necesita buscar en Observable y suscripciones:
getImageSize(url: string): Observable<any> { return new Observable(observer => { var image = new Image(); image.src = url; image.onload = (e: any) => { var height = e.path[0].height; var width = e.path[0].width; observer.next(width + 'x' + height); observer.complete(); }; }); }Luego puede suscribirse a ese observable y obtener la respuesta de él:
this.getImageSize('your image url').subscribe(response => { console.log(response); }); y eso devolverá el width + 'x' + height .
Para obtener el rect de cualquier elemento HTML, use:
const el = document.getElementById('dd'); const rect = el.getBoundingClientRect(); const height = rect.height; const width = rect.width;