Skip to content

Instantly share code, notes, and snippets.

Show Gist options
  • Select an option

  • Save juliengdt/aa0554bc32d1f34c1f247e1b140115f1 to your computer and use it in GitHub Desktop.

Select an option

Save juliengdt/aa0554bc32d1f34c1f247e1b140115f1 to your computer and use it in GitHub Desktop.

Revisions

  1. juliengdt created this gist May 24, 2019.
    28 changes: 28 additions & 0 deletions gistfile1.txt
    Original file line number Diff line number Diff line change
    @@ -0,0 +1,28 @@
    extension CGImage {
    var brightness: Double {
    get {
    let imageData = self.dataProvider?.data
    let ptr = CFDataGetBytePtr(imageData)
    var x = 0
    var result: Double = 0
    for _ in 0..<self.height {
    for _ in 0..<self.width {
    let r = ptr![0]
    let g = ptr![1]
    let b = ptr![2]
    result += (0.299 * Double(r) + 0.587 * Double(g) + 0.114 * Double(b))
    x += 1
    }
    }
    let bright = result / Double (x)
    return bright
    }
    }
    }
    extension UIImage {
    var brightness: Double {
    get {
    return (self.cgImage?.brightness)!
    }
    }
    }