Bộ lọc CIColorMatrix có thể được sử dụng để làm thay đổi thành phần alpha của một CIImage, mà bạn có thể sau đó tổng hợp vào một hình nền:
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];