Post

Replies

Boosts

Views

Activity

CISourceOverComposition unexpected behavior
When a filter is applied, source over compositing resulting in (unexpected behavior) filter bleeding into the background (the color of the background image is changing to gray). I had to use CIBlendWithAlphaMask setting the foreground image as the mask to work around this issue. CIFilter *tonalFilter = [CIFilter filterWithName:@"CIPhotoEffectTonal"];         [tonalFilter setValue:filterImage forKey:kCIInputImageKey];         video1FilteredImage = [tonalFilter valueForKey:@"outputImage"]; CIFilter *colorGenerator = [CIFilter filterWithName:@"CIConstantColorGenerator"];                 CIColor *inputColor = [[CIColor alloc] initWithColor:currentInstruction.compositionBackgroundColor];                 [colorGenerator setValue:inputColor forKey:@"inputColor"];                 CIImage *colorBackgroundImage = [colorGenerator valueForKey:@"outputImage"]; CIFilter *sourceOverCompositing = [CIFilter filterWithName:@"CISourceOverCompositing"];                 [sourceOverCompositing setValue:video1FilteredImage forKey:kCIInputImageKey];                 [sourceOverCompositing setValue:colorBackgroundImage forKey:kCIInputBackgroundImageKey];                 video1FilteredImage = [sourceOverCompositing valueForKey:@"outputImage"];
1
0
1.1k
May ’22
CISourceOverComposition unexpected behavior
When a filter is applied, source over compositing resulting in (unexpected behavior) filter bleeding into the background (the color of the background image is changing to gray). I had to use CIBlendWithAlphaMask setting the foreground image as the mask to work around this issue. CIFilter *tonalFilter = [CIFilter filterWithName:@"CIPhotoEffectTonal"];         [tonalFilter setValue:filterImage forKey:kCIInputImageKey];         video1FilteredImage = [tonalFilter valueForKey:@"outputImage"]; CIFilter *colorGenerator = [CIFilter filterWithName:@"CIConstantColorGenerator"];                 CIColor *inputColor = [[CIColor alloc] initWithColor:currentInstruction.compositionBackgroundColor];                 [colorGenerator setValue:inputColor forKey:@"inputColor"];                 CIImage *colorBackgroundImage = [colorGenerator valueForKey:@"outputImage"]; CIFilter *sourceOverCompositing = [CIFilter filterWithName:@"CISourceOverCompositing"];                 [sourceOverCompositing setValue:video1FilteredImage forKey:kCIInputImageKey];                 [sourceOverCompositing setValue:colorBackgroundImage forKey:kCIInputBackgroundImageKey];                 video1FilteredImage = [sourceOverCompositing valueForKey:@"outputImage"];
Replies
1
Boosts
0
Views
1.1k
Activity
May ’22