2014-04-21 6 views
0

Je travaille dans extjs4. J'essaie d'afficher l'image en utilisant le composant suivant =Comment maintenir et appliquer le format d'image dans extjs4

xtype : 'image', 
height : 600, 
width : 800, 
src :me.imageSrc 

Où, me.imageSrc est le chemin de l'image. Mais parfois, l'image est floue ou agrandie si la hauteur et la largeur de l'image sont trop grandes. Alors, comment calculer le ratio d'aspect et l'appliquer dans extjs4 afin de montrer les images correctement.

Répondre

1

Pour obtenir la taille de l'image chargée, vous devez écouter l'événement "load" sur l'élément image, dans le callback de l'auditeur, vous avez accès à with et height.

Voici le code qui fait la magie:

var img = imageCmp.imgEl 
img.on('load',function(){ 
    Ext.Msg.alert('IMG Size',img.getWidth()+'x'+img.getHeight()); 
}); 

Voici un exemple de travail:

http://jsfiddle.net/crysfel/utUA2/

Assurez-vous de retirer la largeur hardcoded et hauteur;)

+0

Thanx pour la réponse Monsieur. Je peux obtenir la hauteur et la largeur originales de l'image comme vous l'avez suggéré. Mais je voulais savoir comment appliquer ces nouvelles hauteur et largeur avec une bonne maintenance du rapport d'aspect. – user1722857

+1

Vous pouvez utiliser les méthodes setWidth et setHeight du composant image. http://docs.sencha.com/extjs/4.2.2/#!/api/Ext.Img-method-setHeight – Crysfel

Questions connexes