2012-07-13 2 views

답변

14
CIFilter *yourFilter = [CIFilter filterWithName:@"CITemperatureAndTint"]; 
[yourFilter setValue:yourInputImage forKey:@"inputImage"]; 
[yourFilter setValue:[CIVector vectorWithX:6500 Y:500] forKey:@"inputNeutral"]; // Default value: [6500, 0] Identity: [6500, 0] 
[yourFilter setValue:[CIVector vectorWithX:1000 Y:630] forKey:@"inputTargetNeutral"]; // Default value: [6500, 0] Identity: [6500, 0] 
CIImage *resultImage = [yourFilter valueForKey: @"outputImage"]; 
UIImage *resultOutputImage = [UIImage imageWithCGImage:[context createCGImage:resultImage fromRect:resultImage.extent]];  

당신은 색 온도 값 무엇을 볼 수는 this wikipedia link 당신에게 어떤 색상을 제공합니다. 이미지, 중립 및 TargetNeutral :

For Reference

CITemperatureAndTint는 3 개 개의 입력 매개 변수가 있습니다. Neutral 및 TargetNeutral은 2D CIVector 유형이며 둘 다 첫 번째 차원은 온도를 나타내고 두 번째 차원은 색조를 나타냅니다. CITemperatureAndTint 필터가 기본적으로하는 일은 Neutral (srcTemperature, srcTint)에 의해 정의 된 원본 흰색 점에서 TargetNeutral (dstTemperature, dstTint)에 의해 정의 된 대상 흰색 점에 RGB 값을 적용한 다음이 행렬을 입력 이미지에 적용하는 매트릭스를 계산하는 것입니다 (CIColorMatrix 필터 사용). Neutral과 TargetNeutral이 동일한 값이면이 필터를 적용한 후에 이미지가 변경되지 않습니다. iPhoto에 대한 구현 세부 사항을 모르지만 두 슬라이드 막대가 원본 이미지에 추가하려는 온도 및 색조 변경 사항 (즉, 소스 및 대상 온도와 색조 값의 차이)을 제공한다고 생각합니다.

+0

고마워요.하지만 여전히 착색을 조절하는 법을 모르겠습니다. 예를 들어 이미지를 파란색으로 채우는 방법을 알아 내지 못했습니다. –

-1

CITemperatureAndTint에 대한 구체적인 예는 없지만 화면 외부 그림 그리기 대상으로 NSImage를 사용하는 방법을 보여주는 코드를 얻을 수 있습니다.

그 코드의 URL은 당신이 당신의 요구를 충족하기 위해 기존 코드를 CITemperatureAndTint를 사용하거나 수정 수정할 수 있습니다 확신 https://developer.apple.com/library/mac/#samplecode/Tinted_Image/Introduction/Intro.html#//apple_ref/doc/uid/DTS10000412-Intro-DontLinkElementID_2

입니다.

희망이 도움이됩니다.