如何通过Swift图像循环并测试像素RGB值?

时间:2017-09-04 02:35:33

标签: ios swift image loops

上周刚刚开始尝试学习Swift。我正在尝试编写代码来遍历Swift中的图像并比较每个像素值以查看它是否与一系列颜色(一系列RGB值)匹配。

我想要使用的图像将是用户从照片库中选择的UI图像中显示的图像(我完成了这部分代码)。我在stackoverflow上找到了这个代码,用于查看像素并获取其R,G和B值:

extension UIImage {
    func getPixelColor(pos: CGPoint) -> UIColor {

        let pixelData = CGDataProviderCopyData(CGImageGetDataProvider(self.CGImage))
        let data: UnsafePointer<UInt8> = CFDataGetBytePtr(pixelData)

        let pixelInfo: Int = ((Int(self.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)
    }  
}

有人可以帮我编写链接此代码的代码,以便在用户选择的照片上运行并循环显示每个像素吗?

0 个答案:

没有答案