У меня есть код, который получает пиксельный цвет от вида.
Код работает хорошо каждый раз, за исключением случаев, когда я поворачиваю свой взгляд по оси X или по оси Y.
Код также хорошо работает с осью Z, но поскольку ось X и ось Y работают на слое, возможно, поэтому я не получаю цвет пикселя, как ожидалось
Вот мой код, который я использую для получения пикселя color
func getPixelColor(_ point: CGPoint) -> UIColor? {
let pixel = UnsafeMutablePointer<CUnsignedChar>.allocate(capacity: 4)
let colorSpace = CGColorSpaceCreateDeviceRGB()
let context = CGContext(data: pixel, width: 1, height: 1, bitsPerComponent: 8, bytesPerRow: 4, space: colorSpace, bitmapInfo: CGBitmapInfo(rawValue: CGImageAlphaInfo.premultipliedLast.rawValue).rawValue)
context?.translateBy(x: -point.x, y: -point.y)
if let context = context {
layer.render(in: context)
}
let color = UIColor(red: CGFloat(Double(pixel[0]) / 255.0), green: CGFloat(Double(pixel[1]) / 255.0), blue: CGFloat(Double(pixel[2]) / 255.0), alpha: CGFloat(Double(pixel[3]) / 255.0))
return color
}
Какие изменения необходимо внести, чтобы получить правильный цвет пикселя даже при повороте оси X и оси Y
Спасибо!