Ho un'immagine con un vaso giallo in primo piano e lo sfondo trasparente:Put bordo Immagine intorno parzialmente trasparente in fase di elaborazione su CGContext
sto disegnando su un CGContext:
CGContextDrawImage(context, CGRectMake(0, 0, 100, 100), myImage.CGImage);
posso disegnare un'ombra intorno ad esso utilizzando la seguente dichiarazione prima CGContextDrawImage
:
CGContextSetShadowWithColor(context, CGSizeMake(0,0), 5, [UIColor blueColor].CGColor);
Ma voglio mettere un colpo intorno all'immagine, in modo che sarò sembra seguente:
Se ho fatto questo:
CGContextSetRGBStrokeColor(shadowContext, 0.0f, 0.0f, 1.0f, 1.0f);
CGContextSetLineWidth(shadowContext, 5);
CGContextStrokeRect(shadowContext, CGRectMake(0, 0, 100, 100));
E ' (ovviamente) disegna un bordo rettangolare attorno all'intero iamge in questo modo:
Quale non è quello che mi serve.
Ma qual è il modo migliore per disegnare il bordo come nella terza immagine?
Si noti che in questo caso non è possibile utilizzare UIImageView, pertanto non è possibile utilizzare le proprietà di CALayer di UIImageView.
Si sta chiamando 'CGContextSetShadowWithColor' prima della chiamata a' CGContextDrawImage'? – Ariel
@elcanibal: Sì. Altrimenti, non ci sarebbe ombra. Sto modificando la domanda originale per riflettere questo. –
Si prega di inviare un PNG del vaso giallo con sfondo trasparente. La tua prima immagine (senza decorazioni) ha uno sfondo grigio. –