0
색상 선택 도구를 만들고 싶습니다. 그래서 나는 NSReadPixel
을 사용하는 것이 픽셀의 색상을받는 좋은 방법이 될 것이라고 생각했습니다.NSReadPixel()은 항상 nil을 반환합니다.
class CustomWindowController: NSWindowController {
override func mouseMoved(with event: NSEvent) {
let mouseLocation = NSEvent.mouseLocation()
let pickedColor = NSReadPixel(mouseLocation)
}
}
그러나 pickedColor
항상 nil
를 반환 그래서 기본적으로 내가 한 일은이 있었다. 고정 포인트 (테스트 목적)로 "readPixel"을 시도하더라도 여전히 nil
을 반환합니다. 내가 뭘 놓치고 있니?
나는 그것이해야한다고 응답에서 NSBitmapImageRep
/colorAt
접근 방식을 따라하고 결과 NSColor이 (밝은 대부분의 경우에) 조금 다른 것 같다 것으로 나타났습니다 1
편집 # (ㄱ을 스크린 샷을보세요). colorSpaces 등을 고려해야합니까? (? 방법) 2
편집 번호는 작동있어 - bitmap.colorSpaceName = NSDeviceRGBColorSpace
트릭을 수행합니다.
완벽하게 작동합니다. 정말 고맙습니다! – ixany
결과 색상이 선택된 픽셀과 정확히 일치하지 않는 것으로 나타났습니다 (위의 편집 참조). 제발 그렇게 친절하고 좀 봐 주시겠습니까? 미리 감사드립니다! :) – ixany
보정을 시도하십시오. 자신있게 다른 색상의 이미지를 만들고 피커로 탐험 해보십시오. 문제는 x ± 1 y ± 1 일 수 있습니다. –