zl程序教程

您现在的位置是:首页 >  其它

当前栏目

swift获取图片像素颜色值

获取 图片 颜色 swift 像素
2023-09-11 14:17:58 时间
extension UIImage{

    /**
    获取图片中的像素颜色值

    - parameter pos: 图片中的位置

    - returns: 颜色值
    */
    func getPixelColor(pos:CGPoint)->(alpha: CGFloat, red: CGFloat, green: CGFloat,blue:CGFloat){
        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 (a,r,g,b)
    }

}