парни.
В качестве следующего кода я использую CGWindowListCreateImage для захвата изображения экрана и использую NSBitmapImageRep.colorAt для получения цвета из изображения.
Но цвет результата всегда немного отличается от оригинального цвета. Например, если исходный цвет - RGB (121, 177, 247), результирующий цвет - RGB (123, 178, 244).
Что мне делать?
Спасибо.
guard let image = CGWindowListCreateImage(
NSScreen.main!.frame,
.optionOnScreenBelowWindow,
CGWindowID(self.view.window!.windowNumber),
.bestResolution)
else{ return }
let repImage = NSBitmapImageRep(cgImage: image)
repImage.colorSpaceName = .deviceRGB
if let color = repImage.colorAt(x: 200, y: 200){
print("\(color.redComponent * 255), \(color.greenComponent * 255), \(color.blueComponent * 255), \(color.colorSpaceName)")
}