func getPixelColorAtLocation(point : CGPoint){
let cgImage = self.image?.CGImage
let pointX = trunc(point.x)
let pointY = trunc(point.y)
let width = self.frame.width
let height = self.frame.height
let colorSpace = CGColorSpaceCreateDeviceRGB()
let bytesPerPixel = 4
let bytesPerRow = bytesPerPixel * 1
let bitsPerComponent = 8
var pixelData : [UInt8] = [0,0,0,0]
let context = CGBitmapContextCreate(&pixelData,
1,
1,
bitsPerComponent,
bytesPerRow,
colorSpace,
CGImageAlphaInfo.PremultipliedFirst.rawValue | CGBitmapInfo.ByteOrder32Big.rawValue)
CGContextSetBlendMode(context!, CGBlendMode.Copy)
CGContextTranslateCTM(context!, -pointX, pointY-height);
CGContextDrawImage(context!, CGRectMake(0, 0, width, height), cgImage!)
CGContextDrawImage(context!, CGRectMake(0, 0, width, height), cgImage!)
// print("A:%f R:%f G:%f B:%f",pixelData[0],pixelData[1],pixelData[2], pixelData[3])
print(pixelData)
}
网友评论