Alexey Ishkov'un cevabına göre, ancak Swift'de
UIImage sınıfının bir uzantısını kullandım.
Swift 2:
UIImage Uzantısı:
extension UIImage {
func imageWithAlpha(alpha: CGFloat) -> UIImage {
UIGraphicsBeginImageContextWithOptions(size, false, scale)
drawAtPoint(CGPointZero, blendMode: .Normal, alpha: alpha)
let newImage = UIGraphicsGetImageFromCurrentImageContext()
UIGraphicsEndImageContext()
return newImage
}
}
Kullanmak:
let image = UIImage(named: "my_image")
let transparentImage = image.imageWithAlpha(0.5)
Hızlı 3/4/5:
Bu uygulamanın isteğe bağlı bir UIImage döndürdüğünü unutmayın. Bunun nedeni, Swift 3'te UIGraphicsGetImageFromCurrentImageContext
artık isteğe bağlı olarak dönmesidir. Bağlam nil ise veya ne ile oluşturulmamışsa bu değer sıfır olabilirUIGraphicsBeginImageContext
.
UIImage Uzantısı:
extension UIImage {
func image(alpha: CGFloat) -> UIImage? {
UIGraphicsBeginImageContextWithOptions(size, false, scale)
draw(at: .zero, blendMode: .normal, alpha: alpha)
let newImage = UIGraphicsGetImageFromCurrentImageContext()
UIGraphicsEndImageContext()
return newImage
}
}
Kullanmak:
let image = UIImage(named: "my_image")
let transparentImage = image?.image(alpha: 0.5)