내 프로그램의 필터 (웹캠 스트리밍)를 만들어 프레임을 수평으로 뒤집어서 웹캠이 거울처럼 작동하도록하려고합니다.Objective-C에서 프레임의 가로 뒤집기
그러나 컴파일하고 실행하는 동안 필터가 영향을 미치지 않는 것처럼 보입니다.
CIImage *resultImage = image;
CIFilter *flipFilter = [CIFilter filterWithName:@"CIAffineTransform"];
[flipFilter setValue:resultImage forKey:@"inputTransform"];
NSAffineTransform* flipTransform = [NSAffineTransform transform];
[flipTransform scaleXBy:-1.0 yBy:1.0]; //horizontal flip
[flipFilter setValue:flipTransform forKey:@"inputTransform"];
resultImage = [flipFilter valueForKey:@"outputImage"];
는 이상하게도, 다른 필터가 작동하는 것처럼 보일 : 여기
는 코드입니다. 예 :CIFilter * ciEffectFilter = [CIFilter filterWithName:@"CIGloom"];
[ciEffectFilter setDefaults];
CIImage *resultImage = image;
[ciEffectFilter setValue: resultImage forKey:@"inputImage"];
[ciEffectFilter setValue:[NSNumber numberWithFloat: 0.75]
forKey:@"inputIntensity"];
[ciEffectFilter setValue:[NSNumber numberWithFloat: 20]
forKey:@"inputRadius"];
resultImage = [ciEffectFilter valueForKey:@"outputImage"];
CIFilter *ciCropFilter = [CIFilter filterWithName:@"CICrop"];
[ciCropFilter setDefaults];
[ciCropFilter setValue: resultImage forKey:@"inputImage"];
[ciCropFilter setValue: [CIVector vectorWithX:50 Y:50 Z:300 W:
300] forKey:@"inputRectangle"];
resultImage = [ciCropFilter valueForKey:@"outputImage"];
NSAffineTransform과 관련이 있습니까? 둘러 보았지만 대답을 찾지 못했습니다. 감사합니다.
환상적입니다. 그 트릭을 마쳤습니다! 감사합니다. : D – Moonlight293
참고 : 이것은 OS X 용 솔루션입니다. iOS에서는 NSAffineTransform 대신 NSValue를 사용해야합니다. [NSValue valueWithBytes : & flipTransform objCType : @encode (CGAffineTransform)]; –