내가 호출하여 빨간색으로 활성 채우기 색상을 설정할 수 있습니다, 맥 OS X 또는 iPhone OS의 코어 그래픽의 그리기 코드를 쓰고 있어요 경우 :색 공간을 혼합 할 때 패널티가 있습니까? (코어 그래픽)
CGContextSetRGBFillColor(context, 1.0, 0.0, 0.0, 1.0); // RGB(1,0,0)
을 나는 50 % 회색을 원하는 경우에,
CGContextSetRGBFillColor(context, 0.5, 0.5, 0.5, 1.0); // RGB(0.5,0.5,0.5)
그러나 회색은 유혹의 음영에 대한
이 짧은 라인을 만드는 방법과 전화 :CGContextSetGrayFillColor(context, 0.5, 1.0);
Howev 나는 통화 할 수 이 함수는 RGB 값을 3 번 복사 한 RGB 값을 단순히 호출하는 것이 아닙니다. 대신 컨텍스트의 색 공간을 DeviceRGB에서 DeviceGray로 변경합니다. 다음에 RGB 메서드를 호출하면이 메서드가 다시 전환됩니다. 내가 궁금
은 알고 :
색 공간 전환에 대한 처벌은 무엇- ?
- 컨텍스트의 색 공간이 장치의 기본 색 공간과 일치하지 않을 때 그리는 것에 대한 패널티가 있습니까? (즉, DeviceGray 대 DeviceRGB를 그리기)
기술적 인 호기심이 아니라 조기에 최적화하려는 욕구가 있으므로 최대한 알려 주시기 바랍니다.
더 빠른지는 알 수 없지만 이것을 테스트하는 테스트 프로젝트를 빌드하여 테스트 할 수는 없습니까? 하나의 실행은 항상 동일한 색상 공간을 사용하여 채우기를 테스트하고 다른 하나는 색상 공간 사이를 전환합니다. 페널티가있는 경우 색상 값을 비트 맵의 색상 공간으로 변환하는 것이지만 차이점은 테스트 사이에 무시할 수있을 것이라고 추측합니다. – lucius
그래,이 시점에서 나는 시간이있을 때 몇 가지 테스트 코드를 작성할 계획이다. 나는 Tumbleweed 배지를 먼저 얻으려고 기다리고 있었지만 제 질문이 충분히 흥미롭지는 않은 것 같습니다. – benzado