Le dessin d'une Image PNG Dans un Contexte Graphique pour le Mode de Fusion de Manipulation
J'ai besoin de tirer une série de Png en un CGContext
donc je peux les mélanger ensemble:
CGContextRef context = UIGraphicsGetCurrentContext();
CGContextSetBlendMode(context, kCGBlendModeOverlay);
Actuellement, j'ai mon appli de travail basé sur la juste dessiner chaque image comme une UIImageView et de les ajouter en tant que sous-vue à la vue de fichier via: [self addSubview:someImageView]
...mais cela n'autorise pas pour le mode de fusion de la manipulation, non?
Actuellement la UIImageView vars sont attribués par l'intermédiaire de:
someImageView = [[UIImageView alloc] initWithImage:[UIImage imageNamed:@"image-name.png"]];
J'ai donc essayé de remplacer ceux avec l'une de ces avec pas de chance:
[[UIImage imageNamed:@"image-name.png"] drawInRect:rect blendMode:kCGBlendModeOverlay alpha:1.0];
et celui-ci a besoin d'un CGImage
dont je ne suis pas sûr de savoir comment faire avec les Png:
CGContextDrawImage(context, rect, someCGImage);
Donc ce qui me manque? Ce ne sont pas déclenchées par l'interaction, ils ont juste besoin de charger/tirage au sort lors de l'application de la charge.
Merci pour les pistes. 🙂
OriginalL'auteur steganous | 2009-12-20
Vous devez vous connecter pour publier un commentaire.
Vous n'avez pas besoin d'utiliser UIImageViews.
Au lieu de cela, le support de votre dessin entre les appels à
UIGraphicsBeginImageContext
etUIGraphicsEndImageContext
.Par exemple (pas essayé):
Si vous souhaitez utiliser la CG appels, composez le:
pour obtenir le contexte réf.
Je n'ai pas été clair sur cette dernière partie, que je veux faire tourner le uiimages avant de les dessiner, mais en l'appelant CGContextRotateCTM(contexte, 3.14); avant l'élaboration de la commande n'a pas fait de tourner par souhaitée 180 degrés. Et oui, la première commande, j'ai appelé dans la méthode drawRect était CGContextRef contexte = UIGraphicsGetCurrentContext(); Pensées?
On dirait que vous le faites à droite. Vous pouvez poster votre nouveau code?
OriginalL'auteur Ken Aspeslagh