NSAffineTransform sur une image... Possible ?
LeChatNoir
Membre, Modérateur
Salut !
Je tente de créer une animation sur une des images de mon appli.
J'ai une NSImageView sur ma fenêtre et sur un évènement (click), j'affecte une image particulière à cette NSImageView.
J'aimerai faire une animation.
Je vais la faire avec un timer qui appelera une methode qui se chargera d'appliquer une transformation (genre rotation + scale) à cette image.
Seulement voilà , comment appliquer une transformation à une image ?
En fait, j'arrive à locker une image, définir une transformation et tracer genre un rectangle ou du texte puis delocker le focus sur l'image.
Là , ca me fait ce qu'il me faut, à savoir image normal et texte ou rectangle tracé selon la transformation.
Mais là , mon problème est différent.
J'aimerai appliquer la transformation à l'image elle même.
Genre j'ai mon image normale et je veux faire un scale de 0.5 sur l'axe des X + rotation.
J'ai tenté :
[img unlockFocus];Ca marche pas :-(Une idée ?[/img]
Je tente de créer une animation sur une des images de mon appli.
J'ai une NSImageView sur ma fenêtre et sur un évènement (click), j'affecte une image particulière à cette NSImageView.
J'aimerai faire une animation.
Je vais la faire avec un timer qui appelera une methode qui se chargera d'appliquer une transformation (genre rotation + scale) à cette image.
Seulement voilà , comment appliquer une transformation à une image ?
En fait, j'arrive à locker une image, définir une transformation et tracer genre un rectangle ou du texte puis delocker le focus sur l'image.
Là , ca me fait ce qu'il me faut, à savoir image normal et texte ou rectangle tracé selon la transformation.
Mais là , mon problème est différent.
J'aimerai appliquer la transformation à l'image elle même.
Genre j'ai mon image normale et je veux faire un scale de 0.5 sur l'axe des X + rotation.
J'ai tenté :
[img unlockFocus];Ca marche pas :-(Une idée ?[/img]
Connectez-vous ou Inscrivez-vous pour répondre.
Réponses
[tt][NSGraphicsContext saveGraphicsState];
NSAffineTransform *at = ....
...
[at concat];
Je vais regarder ça.
Par contre, le bout de code devra être entre [MonImageView lockFocus] et unlock non ?
Sinon, le DrawAtPoint se fait où ? Ca change direct l'image ?
Ce code se mets dans le drawRect de la vue dans laquelle tu veux dessiner ton image. Pas besoin d'utilise (un)lockFocus.