Sto provando a utilizzare l'immagine principale sull'iPhone. Sono in grado di comporre i miei colori usando il quarzo per disegnare uniview, ma voglio separare ciascun componente in CALayer
(UIview consuma più risorse).colori compositi: modalità CALayer e fusione su iPhone
quindi ho una maschera bianca che voglio utilizzare per filtrare un bitmap di sfondo, e voglio provare diverso metodo di fusione. Sfortunatamente, gli strati stanno solo "aggiungendo" i loro colori.
Ecco il mio codice:
@implementation WhiteLayerHelper
- (void)drawLayer:(CALayer *)theLayer
inContext:(CGContextRef)myContext
{
// draw a white overlay, with special blending and alpha values, so that the saturation can be animated
CGContextSetBlendMode(myContext,kCGBlendModeSaturation);
CGContextSetRGBFillColor(myContext,1.0,1.0,1.0,0.9);
CGContextFillRect(myContext,[UIScreen mainScreen].bounds);
}
@end
E qui è il principale codice di vista drawrect
, dove io uso il mio CALayer:
- (void)drawRect:(CGRect)rect {
//get the drawing context
CGContextRef myContext = UIGraphicsGetCurrentContext();
// draw the background
[self fillContext:myContext withBounds:m_overlayRect withImage:m_currentImage];
[whiteLayer renderInContext:myContext];
}
C'è qualcosa che non va?
non è CoreImage ora disponibile su iOS? – openfrog
@openfrog sì, ma è limitato confrontato con OS X. ad esempio su OS X CALayers può avere filte compositing rs. Su iOS, non così tanto. –