2010-03-29 6 views
0

J'ai plusieurs objets UIImageView qui ont été tournés et mis à l'échelle. Comme ce ne sont que des images d'arrière-plan et représentent un état non mis en surbrillance, je veux les dessiner sur le canevas de la vue afin de pouvoir m'en débarrasser en mémoire. La vue a un gros bitmap de toute façon, donc cela économiserait beaucoup de mémoire pour les mettre dedans plutôt que d'ajouter comme sous-vue.comment dessiner un UIImageView en -drawRect d'une autre vue?

Il semble que je ne puisse appeler que quelque chose comme -drawInRect pour un UIImage, mais que diriez-vous d'un UIImageView avec des transformations dessus? Oh oui, et il est positionné avec l'origine du cadre. Je veux juste le dessiner sur le bitmap d'un autre UIView de la même manière qu'il apparaît lors de l'ajout comme sous-vue.

+1

Eh bien, avez-vous essayé? – Jordan

Répondre

0

En utilisant drawInRect: avec un rect d'origine et de taille différentes de l'image, vous pouvez effectuer efficacement toute mise à l'échelle et la traduction que vous voulez. Vous pouvez également gérer les rotations avec la fonction [CGContextRotateCTM][1] (CTM = matrice de transformation en cours). Il y a aussi d'autres fonctions CGContext..CTM, donc vous avez plusieurs approches.

Questions connexes