J'essaie de fondre un arrière-plan avec une image de premier plan, où l'image de premier plan est une image transparente avec des lignes. J'essaie de faire comme ça.mélange deux uiimages basées sur l'alpha/transparence de l'image supérieure
UIGraphicsBeginImageContext(CGSizeMake(320, 480));
CGContextRef context = UIGraphicsGetCurrentContext();
// create rect that fills screen
CGRect bounds = CGRectMake(0,0, 320, 480);
// This is my bkgnd image
CGContextDrawImage(context, bounds, [UIImage imageNamed:@"bkgnd.jpg"].CGImage);
CGContextSetBlendMode(context, kCGBlendModeSourceIn);
// This is my image to blend in
CGContextDrawImage(context, bounds, [UIImage imageNamed:@"over.png"].CGImage);
UIImage *outputImage = UIGraphicsGetImageFromCurrentImageContext();
UIImageWriteToSavedPhotosAlbum(outputImage, self, nil, nil);
// clean up drawing environment
//
UIGraphicsEndImageContext();
mais ne semble pas fonctionner.
Toutes les suggestions seront appréciées.
Note technique: cela fait référence à "alpha-blending" (compositing deux images basées sur un canal alpha dans l'une des images), * pas * à l'aide de base Graphiques "modes de fusion" - recherchez à nouveau si c'est ce dont vous avez besoin. En fait, [la réponse d'Eric] (http://stackoverflow.com/a/3188761/199364) montre brièvement l'utilisation d'un mode de fusion; vous pouvez y substituer un mode de fusion différent et supprimer le "alpha: 0".8 "paramètre – ToolmakerSteve