http://swift-salaryman.com/pixcelcolor.php
のUIImageの色情報を抜き出すをを参考にSwift3として動作するようにしてみたいと思い

let url = URL(string:"http://swift-salaryman.com/files/image/page_top.gif")!
let imageData = try? Data(contentsOf: url)
let image = UIImage(data:imageData!)


func getPixelColorFromUIImage(myUIImage:UIImage, pos:CGPoint) -> UIColor {

let pixelData = myUIImage.cgImage!.dataProvider!.data
let data: UnsafePointer = CFDataGetBytePtr(pixelData)

let pixelInfo: Int = ((Int(myUIImage.size.width) * Int(pos.y)) + Int(pos.x)) * 4
let r = CGFloat(data[pixelInfo]) / CGFloat(255.0)
let g = CGFloat(data[pixelInfo+1]) / CGFloat(255.0)
let b = CGFloat(data[pixelInfo+2]) / CGFloat(255.0)
let a = CGFloat(data[pixelInfo+3]) / CGFloat(255.0)

return UIColor(red: r, green: g, blue: b, alpha: a)

}

としました。
リンク先の記事には画像中から座標をランダムに30個ピックアップして、その座標の色情報を‌​出力するコードが含まれています。しかし、そのままでは動作せずまたランダムに30個ではなく、「画像全部」を出力するようにするにはどのようにすればよろしいでしょうか。

またこのような方法以外により良い方法などはございますでしょうか。
最終的な出力の結果はこののちに続くコードに使用したいと考えています。
できましたら画像の左上部や右上部方向に向かって、というように方向性も指定できればと思います。
ご教授いただけますと幸いです。