Получение цвета пикселя из UIView или UIImageView, который повернут в 3D - PullRequest
0 голосов
/ 29 февраля 2020

У меня есть код, который получает пиксельный цвет от вида.

Код работает хорошо каждый раз, за ​​исключением случаев, когда я поворачиваю свой взгляд по оси 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

Спасибо!

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...