나는 스포트라이트 효과를 얻으려고합니다. 나는 어떤 코드가 the Apple CoreImageFilterReference을 기반으로 작성했지만 작동하지 않는 것 같습니다. filter
개체는 nil
(분명히 outputImage
, newImage
은 nil
임)이지만 ciImage
은 괜찮습니다.CISpotLight 필터 및 결과 없음
CIVector *inputLightPointsAt = [CIVector vectorWithX:20.f Y:20.f Z:5.f];
CIColor *inputColor = [[CIColor alloc] initWithColor:[UIColor redColor]];
CIImage *ciImage = [CIImage imageWithCGImage:[UIImage imageNamed:@"image"].CGImage];
CIFilter *filter = [CIFilter filterWithName:@"CISpotLight" keysAndValues:
kCIInputImageKey, ciImage,
@"inputBrightness", @1.5f,
@"inputConcentration", @0.5f,
@"inputColor", inputColor,
@"inputLightPosition", inputLightPointsAt,
@"inputLightPointsAt", inputLightPointsAt,
nil];
CIImage *outputImage = [filter outputImage];
UIImage *newImage = [UIImage imageWithCIImage:outputImage];
누구나 내가 뭘 잘못하고 있는지 알 수 있습니까? 어떻게 작동 시키는가?
BTW : 필터를 세피아 등의 다른 것으로 변경했을 때 모든 것이 잘 작동했습니다.
CIFilter *filter = [CIFilter filterWithName:@"CISepiaTone" keysAndValues:
kCIInputImageKey, ciImage,
@"inputIntensity", @0.8,
nil];
@MidhunMP 글쎄,'ciImage'를 출력 할 때 나는'을 얻을 수 있으므로 반드시 그렇지 않습니다. 또한 CoreImage 프레임 워크를 작업 공간에 추가하고 클래스에 가져 왔습니다. 다른 생각 : /? 또한 필터 출력을 변경하고 필터가 0이 아닌 경우 편집을 참조하십시오. 'ciImage'가 문제가된다면 두 필터 모두 nil이됩니다. –
Vive