CoreImage 필터 체인을 만들고 알파 또는 불투명도 설정으로 개별 효과를 합성하여 체인의 각 필터의 "강도"를 제어하고 싶습니다. 하지만 나는 문서에서 알파 또는 불투명도와 합성하는 방법을보고 있지 않습니다.Xcode : 코어 이미지를 사용하여 알파를 사용하여 합성
코어 이미지 필터 체인에서 벗어날 수 있고 코어 그래픽 컨텍스트와 합성 할 수 있습니다.
CoreImage 필터 체인을 만들고 알파 또는 불투명도 설정으로 개별 효과를 합성하여 체인의 각 필터의 "강도"를 제어하고 싶습니다. 하지만 나는 문서에서 알파 또는 불투명도와 합성하는 방법을보고 있지 않습니다.Xcode : 코어 이미지를 사용하여 알파를 사용하여 합성
코어 이미지 필터 체인에서 벗어날 수 있고 코어 그래픽 컨텍스트와 합성 할 수 있습니다.
이런 식으로 끝내기. 이 답변에서 코드 : CIColorMatrix 필터는 CIImage의 알파 성분을 변경하는 데 사용할 수 있습니다 https://stackoverflow.com/a/3188761/1408546
UIImage *bottomImage = inputImage;
UIImage *image = filterOutput;
CGSize newSize = CGSizeMake(inputImage.size.width, inputImage.size.height);
UIGraphicsBeginImageContext(newSize);
[bottomImage drawInRect:CGRectMake(0,0,newSize.width,newSize.height)];
[image drawInRect:CGRectMake(0,0,newSize.width,newSize.height) blendMode:kCGBlendModeNormal alpha:_opacity];
UIImage *blendedImage = UIGraphicsGetImageFromCurrentImageContext();
UIGraphicsEndImageContext();
있는 배경 이미지 위에 다음 합성 할 수 있습니다
CIImage *overlayImage = … // from file, CGImage etc
CIImage *backgroundImage = … // likewise
CGFloat alpha = 0.5;
CGFloat rgba[4] = {0.0, 0.0, 0.0, alpha};
CIFilter *colorMatrix = [CIFilter filterWithName:@"CIColorMatrix"];
[colorMatrix setDefaults];
[colorMatrix setValue:overlayImage forKey: kCIInputImageKey];
[colorMatrix setValue:[CIVector vectorWithValues:rgba count:4] forKey:@"inputAVector"];
CIFilter *composite = [CIFilter filterWithName:@"CISourceOverCompositing"];
[composite setDefaults];
[composite setValue:colorMatrix.outputImage forKey: kCIInputImageKey];
[composite setValue:backgroundImage forKey: kCIInputBackgroundImageKey];
UIImage *blendedImage = [UIImage imageWithCIImage:composite.outputImage];