목표 -C에 색상 선택기 코코아 응용 프로그램을 만들려고하므로 화면의 모든 픽셀 색상을 얻을 수 있습니다. 목표 -c에서 특정 화면 픽셀의 색을 얻는 방법이 있습니까?객관적인 -c 코코아 응용 프로그램의 화면에서 픽셀을 얻으십시오
4
A
답변
13
당신은. 당신이 관심있는 지점을 포괄하는 CGImageRef를 얻을 수 CGDisplayCreateImageForRect을 사용할 수 있습니다 당신은의 CGImage이 있으면, 사용자 정의 버퍼에 이미지를 렌더링함으로써 그것의 색상 값을 얻을 수 있습니다, 또는 NSBitmapImageRep의 initWithCGImage를 사용하여 colorAtX : y :를 선택합니다. 아마 장치 색상 공간의 색상을 반환합니다
NSColor *MyColorAtScreenCoordinate(CGDirectDisplayID displayID, NSInteger x, NSInteger y) {
CGImageRef image = CGDisplayCreateImageForRect(displayID, CGRectMake(x, y, 1, 1));
NSBitmapImageRep *bitmap = [[NSBitmapImageRep alloc] initWithCGImage:image];
CGImageRelease(image);
NSColor *color = [bitmap colorAtX:0 y:0];
[bitmap release];
}
다음 NSBitmapImageRep 방법에 대한 "스택 오버플로 코드 창에 쓰여진"코드는 같을 것이다. 대신 보정 된 RBG 색상 공간에서 색상을 반환하는 것이 유용 할 수 있습니다.
0
시도 NSReadPixel. 현재 마우스 위치를 가져와 적절한 좌표 참조 프레임으로 변환해야합니다. 색상을 얻은 후에는 필요에 따라 다른 색상 공간으로 변환해야 할 수도 있습니다.
+0
이것은 현재 포커스가 고정되어 있지만 다른 프로세스에서 화면 픽셀을 읽을 수는없는 주소 공간의보기 및 창에 적용됩니다. –
관련 문제
- 1. 화면에서 픽셀을 측정하는 방법
- 2. 화면에서 픽셀을 읽는 방법?
- 3. 응용 프로그램의 이름을 얻으십시오.
- 4. TaskBar에서 응용 프로그램의 수를 얻으십시오
- 5. 코코아 객관적인 C 응용 프로그램에서 지불 pal 구현하는 방법
- 6. 외부 응용 프로그램의 화면에서 데이터 가져 오기
- 7. 화면에서 색상을 얻는 것이 픽셀을 얻는 방법? (C++)
- 8. winform에서 프로그램의 폴더 경로를 얻으십시오
- 9. 코코아 터치 - 화면에서 UIImageView 이동하기
- 10. 객관적인 c를 가진 모든 달을 얻으십시오
- 11. 열려있는 창문의 목록을 얻으십시오. 코코아
- 12. 탄소 응용 프로그램의 코코아 창에 초점 맞추기
- 13. 객관적인 C 메모리 누수
- 14. 코코아 응용 프로그램의 서식 단추 텍스트
- 15. 런타임에서 응용 프로그램의 경로를 얻는 것 + 코코아
- 16. 코코아 응용 프로그램의 잔소리 화면 만들기
- 17. 코코아 응용 프로그램의 정보 gc-root 이해
- 18. 내 코코아 응용 프로그램의 "재시작"을 막으시겠습니까?
- 19. 코코아 응용 프로그램의 커맨드 라인 인수
- 20. 코코아 응용 프로그램의 파일에 이미지 작성하기
- 21. 내 코코아 응용 프로그램의 콘솔 로그 얻기
- 22. 코코아 문서 기반 응용 프로그램의 윈도우 변경
- 23. 객관적인 C를 사용하여 픽셀을 한 라인 씩 그리는 법
- 24. 코코아 프로그램의 지역 코드
- 25. C# 응용 프로그램의 성능
- 26. 코코아 객관적인 c를 사용하여 날짜 비교
- 27. 코코아 : 화면에서 현재 마우스 위치 얻기
- 28. 어떤 응용 프로그램의 안드로이드 화면에서 사용자의 클릭을 잡는 방법?
- 29. iPhone의 "설정"화면에서 내 응용 프로그램의 설정을 배치하는 방법
- 30. 객관적인 C 기본 질문
나는 [bitmap colorAtX : 0 y : 0]이어야한다고 생각합니다. –
그래, 0, 0이어야합니다. 그래도 "스택 오버플로 코드 창"작성. –