Ich habe ein Bild mit einem gelben Vase im Vordergrund und transparenten Hintergrund:Put Ränder um teilweise transparentes Bild auf CGContext gezogen wird
ich es auf einem CGContext bin Zeichnung:
CGContextDrawImage(context, CGRectMake(0, 0, 100, 100), myImage.CGImage);
kann ich einen Schatten um sie ziehen durch die folgende Anweisung vor CGContextDrawImage
mit:
CGContextSetShadowWithColor(context, CGSizeMake(0,0), 5, [UIColor blueColor].CGColor);
Aber ich will um das Bild einen Schlaganfall setzen, so dass es dann sieht wie folgt aus:
Wenn ich dies tat:
CGContextSetRGBStrokeColor(shadowContext, 0.0f, 0.0f, 1.0f, 1.0f);
CGContextSetLineWidth(shadowContext, 5);
CGContextStrokeRect(shadowContext, CGRectMake(0, 0, 100, 100));
Es (offensichtlich) zeichnet eine rechteckige Umrandung um die ganze Zeichnung wie folgt:
Was ist nicht was ich brauche.
Aber was ist der beste Weg, um die Grenze wie im dritten Bild zu zeichnen?
Bitte beachten Sie, dass es in diesem Fall nicht möglich ist, UIImageView zu verwenden, daher ist die Verwendung der Eigenschaften von CALayer von UIImageView nicht anwendbar.
Rufen Sie 'CGContextSetShadowWithColor' vor dem Aufruf von' CGContextDrawImage' auf? – Ariel
@elcanibal: Ja. Sonst würde es keinen Schatten geben. Ich bearbeite die ursprüngliche Frage, um das zu reflektieren. –
Bitte posten Sie ein PNG der gelben Vase mit transparentem Hintergrund. Ihr erstes (schmuckloses) Bild hat einen grauen Hintergrund. –