Erstellen Sie neue UIImage durch das hinzufügen von Schatten zu bestehenden UIImage
Habe ich einen Blick auf diese Frage: UIImage Schatten Ärger
Aber die akzeptierte Antwort hat bei mir nicht funktioniert.
Was ich versuche zu tun ist, nehmen Sie ein UIImage und fügen Sie einen Schatten, dann wieder ein ganz neues UIImage -, Schatten-und alle.
Dies ist, was ich versuche:
- (UIImage*)imageWithShadow {
CGColorSpaceRef colourSpace = CGColorSpaceCreateDeviceRGB();
CGContextRef shadowContext = CGBitmapContextCreate(NULL, self.size.width, self.size.height + 1, CGImageGetBitsPerComponent(self.CGImage), 0,
colourSpace, kCGImageAlphaPremultipliedLast);
CGColorSpaceRelease(colourSpace);
CGContextSetShadow(shadowContext, CGSizeMake(0, -1), 1);
CGContextDrawImage(shadowContext, CGRectMake(0, 0, self.size.width, self.size.height), self.CGImage);
CGImageRef shadowedCGImage = CGBitmapContextCreateImage(shadowContext);
CGContextRelease(shadowContext);
UIImage * shadowedImage = [UIImage imageWithCGImage:shadowedCGImage];
CGImageRelease(shadowedCGImage);
return shadowedImage;
}
Das Ergebnis ist, dass ich genau das gleiche Bild wie vorher ich habe es durch diese Methode.
Ich Tue dies der richtige Weg, oder gibt es etwas, offensichtlich bin ich vermisst?
InformationsquelleAutor Tom Irving | 2010-05-29
Du musst angemeldet sein, um einen Kommentar abzugeben.
Gibt es mehrere Probleme mit deinem code:
CGContextSetShadowWithColor
zu definieren, die sowohl die Schatten-und seine Farbe.Durch die Festsetzung dieser Probleme, die Schatten gezeichnet werden sollen.
Wo sollte dieser code implementiert werden und wie würden Sie es nennen, hinzufügen eines Schattens zu einem Bild?
Die Methode geht davon aus, dass die Klasse kann eine CGImage und seine Dimensionen. Sie können ändern Sie die Methode, um Parameter (CGImage und CGSize) statt.
So konvertieren Sie ein UIImage zu CGImage ?
verwenden Sie die CGImage Eigenschaft von UIImage.
InformationsquelleAutor Laurent Etiemble
iOS8 /Swift-version (als Erweiterung zu UIImage):
(Umgerechnet von Laurent Etiemble s & capikaw Antworten)
BEARBEITEN 2016/10/31: konvertiert Swift 3, und entfernt alle unnötigen Sachen
Verwendung:
Coole Antwort +1 für dich
InformationsquelleAutor GK100
Brauchte ich eine Methode akzeptieren würde, ein UIImage als parameter und geben einen etwas größeren UIImage mit Schatten. Die Beiträge hier haben mir schon sehr geholfen also hier ist meine Methode.
Das zurückgegebene Bild ist zentriert 5px Schatten auf jeder Seite.
InformationsquelleAutor filo
Brauchte ich einen größeren Schatten für meine UIImages. Hier ist meine Variante der Antwort, der es ermöglicht, maßgeschneiderte shadow Größe ohne offset.
Verwenden Sie es wie:
InformationsquelleAutor capikaw
Meine Methode, das zeichnet einen Schatten auf ein Bild. Es hat eigene Schatten-Parameter und rendert Bild in der richtigen Größe und Bildschirm skalieren. Umgesetzt werden sollten, UIImage-Erweiterung. Swift (3).
InformationsquelleAutor Igor Kulagin
Ein Bild zu machen, ein
CGImage
wie in diesem Fall , versuchen SieInformationsquelleAutor Gautam Jain
GK100 Antwort in Swift 2 /iOS9
InformationsquelleAutor Eugene Braginets