PBM 이미지 파일을 그리기 위해 NSBitmapImageRep
을 구현하고 있습니다. 그 (것)들을 그리기 위하여는, 나는 를 통과한다 (비트는 검정을 위해 1이고, 백색을 위해 0이다) NSDrawBitmap()
를 통과하고 그것을 통과하고있다.NSCalibratedBlackColorSpace에 대한 비 권장 대체?
warning: 'NSCalibratedBlackColorSpace' is deprecated
그러나, 나는 그것을위한 좋은 대체를 찾을 수 없습니다 :
문제는, 나는 다음과 같은 경고를 얻을 수있다. NSCalibratedWhiteColorSpace
은 나에게 거꾸로 된 이미지를 제공합니다. 에 해당하는 사용자 정의로 만들 수있는 CGColorSpaceRef
또는 NSColorSpace
을 사용하려면 NSDrawBitmap()
을 얻을 수있는 방법이없는 것 같습니다.
기호 상수 대신 @"NSCalibratedBlackColorSpace"
을 전달하여 경고를 종료하는 (해킹 된) 방법을 찾았으므로 (교체가 가능해질 때까지 경고가 생길 수 있음) 발견되었습니다. 올바른 수정.
누구나 아이디어가 있습니까?
확인, 그래서 나는
NSData* pixelData = [[NSData alloc] initWithBytes: bytes +imgOffset length: [theData length] -imgOffset];
CGFloat black[3] = { 0, 0, 0 };
CGFloat white[3] = { 100, 100, 100 };
CGColorSpaceRef calibratedBlackCS = CGColorSpaceCreateCalibratedGray(white, black, 1.8);
CGDataProviderRef provider = CGDataProviderCreateWithCFData(UKNSToCFData(pixelData));
mImage = CGImageCreate(size.width, size.height, 1, 1, rowBytes, calibratedBlackCS, kCGImageAlphaNone,
provider, NULL, false, kCGRenderingIntentDefault);
CGColorSpaceRelease(calibratedBlackCS);
을 시도했지만 여전히 역입니다. 나 또한 블랙/화이트 스와핑을 시도했지만, 물건을 변경하지 않았다. CIE 삼자 극치 색상 값을 잘못 해석합니까? 대부분의 문서는 그것이 무엇인지 알거나 행렬 수학을 변형하여 어떤 색이 무엇인지 알아낼 것으로 가정합니다. 또는 뭔가.
나는 모든 데이터를 한 번 터치하여 반전시키지 않아도되지만, 지금은 최상의 선택처럼 보입니다. (/ me는 루프와 xor 연산자를 풀어줍니다.)
실현 저는 애플이 자신의 검은 색 공간을 더 이상 사용해서는 안된다고 생각했기 때문에 완벽하게 작동하는 코드 10 줄을 50 개로 대체했습니다. 결국 그 점이 제가 한 것입니다. 빠른^= 0xff, 모든 것이 경고없이 진행됩니다. 감사! – uliwitness
유지 보수가 간단하기 때문에 Apple의 추론이 색상 공간을 비추천으로 사용하는 것에 대해 듣는 것은 매우 흥미로운 일입니다. 나는 우리가 결코 알지 못할 것이라고 생각합니다 ... –
사실, 그 생각은 단지 흑인을 사용하지 않는 것입니다. 코코아 수준에서,이 점을 비난하는 것은 CG가 흑인의 색 공간을 결코 지원하지 않는다는 것이며, 코코아가 CG의 부족함으로부터 당신을 보호해야하기 때문에 흑인의 사용은 성과에 영향을 미친다는 것입니다. CG 수준에서, 일반적으로 아무도 흑인과 흑인 모두를 필요로하지 않는다고 생각합니다. 둘 다 가지고 있으면 더 많은 물건에 임피던스 매칭 문제가 있다는 것을 의미합니다. 그냥 검은 색을 사용하십시오. 10.6의 목표 중 하나는 코코아와 CG가없는 단열재를 정렬하는 것이 었습니다. – Ken