2017-02-09 3 views
1

Ich würde gerne wissen, eine schwarze Farbe setzen, wie ich mit einer Undurchsichtigkeit auf der Spitze eines Bildes in Swift 3. Zum Beispiel ein schwarzes Rechteck setzen können:Wie mit Opazität auf ein Bild, Swift 3

enter image description here enter image description here

+0

Das ist einfach. Was ist der schwierige Teil für dich? Zeigen Sie, was Sie versucht haben und erklären Sie, was passiert ist. – matt

Antwort

1

können Sie eine UIView erstellen, die mit einer Opazität schwarz ist und es die gleiche Größe Ihrer UIImageView und fügen Sie es als Subview machen. Versuchen Sie so etwas wie:

let tintView = UIView() 
tintView.backgroundColor = UIColor(white: 0, alpha: 0.5) //change to your liking 
tintView.frame = CGRect(x: 0, y: 0, width: imageView.frame.width, height: imageView.frame.height) 

imageView.addSubview(tintView) 

Imageview = Ihre UIImageView

+0

Dies setzt voraus, dass eine Bildansicht vorhanden ist. Die Frage ist überhaupt nicht klar. Sie fragen sich vielleicht, wie man ein "UIImage" ändert. – rmaddy

0
func drawRectOn(image: UIImage) -> UIImage { 
    UIGraphicsBeginImageContext(image.size) 
    image.draw(at: CGPoint.zero) 
    let context = UIGraphicsGetCurrentContext() 

    // set fill gray and alpha 
    context!.setFillColor(gray: 0, alpha: 0.5) 
    context!.move(to: CGPoint(x: 0, y: 0)) 
    context!.fill(CGRect(x: 0, y: 0, width: image.size.width, height: image.size.height)) 
    context!.strokePath() 
    let resultImage = UIGraphicsGetImageFromCurrentImageContext() 

    // end the graphics context 
    UIGraphicsEndImageContext() 

    return resultImage! 

} 
+0

Kein Aufruf von move to (Sie haben bereits den Füllursprung festgelegt). Sie können 'defer {UIGraphicsEndImageContext()}' verwenden, um den Endbildkontext zu verschieben, damit er nach dem Zurückgeben des UIImage-Objekts ausgeführt wird. Um es auch kürzer zu machen: image.draw (at: .zero), context! .move (zu: .zero) 'und' currentContext! .fill (CGRect (Herkunft: .zero, size: image.size)) '. Keine Notwendigkeit, es auch zu streichen –

+0

Zustimmen. Es waren Artefakte :) –