[Résolu] Zoomer sur une NSImage
berfis
Membre
Bonjour,
J'aimerais utiliser une animation pour faire grossir une image en partant d'un rectangle de départ et d'arrivée, que je connais (image jointe *Zoom").
Mais si je fais comme ça:
NSRect final = myView.frame;
NSRect debut = [myMatrix cellFrameAtRow:xx column:yy];
debut = [myMatrix convertRect: debut toView:myView];
[myView setFrame:debut];
[[[myView] animator ]setFrame:final];
L'image affichée dans myView (une NSImageView) n'est pas zoomée, à la place j'ai une sorte de transition: l'image a sa taille normale mais elle est progressivement dévoilée (image jointe "Transition").
Quand j'anime le bounds, c'est pire: au lieu d'avoir un zoom avant... j'ai un zoom arrière (l'image commence énorme et finit à la taille normale).
Bref, je me suis englué dans les coordonnées. Une idée? D'avance merci.
Mots clés:
Connectez-vous ou Inscrivez-vous pour répondre.
Réponses
NSImageView ne supporte pas le zoom:
http://stackoverflow.com/questions/1072866/image-zoom-in-zoom-out-in-nsimageview
Essaie de changer l'imageScaling en NSScaleProportionally.
Il n'y a pas de raison que ça ne fonctionne pas.
En effet ça marche (et avec NSImage). Mais c'est bizarre, j'ai pourtant défini cette caractéristique dans IB, et ça ne fonctionne que si je "confirme par code", sinon l'image se comporte bizarrement (une image de 72K ne peut pourtant pas bouleverser le fonctionnement de la mémoire à ce point... non?)
Merci à vous deux -- @mpergand: déjà travaillé avec IKImageView?
NSImageView ne permet pas de zoomer à l'intérieur de l'image, enfin si on peut, mais il faut mettre l'imageView dans un ScrollView et changer la taille de l'imageView.
IKImageView fait tout ça, tout seul comme un grand
Maintenant, si tu veux juste que l'image s'adapte à la taille de la vue, NSImageView en parfait pour ça.