画像にフィルターを適用すると、CISoftLightBlendModeに問題が発生します。オーバーレイ画像は他の画像の中央に配置されず、左下隅にとどまるため、画像のごく一部のみがオーバーレイで覆われます。テクスチャ。
これが私のコードです:
UIImage* bg = [UIImage imageNamed:@"Texture.png"];
CIImage* beginImage = [CIImage imageWithCGImage:[image_view.image CGImage]];
CIImage* bgImage = [CIImage imageWithCGImage:bg.CGImage];
context = [CIContext contextWithOptions:nil];
filter = [CIFilter filterWithName:@"CISoftLightBlendMode" keysAndValues: kCIInputImageKey, beginImage,@"inputBackgroundImage",bgImage, nil];
CIImage *outputImage = [filter outputImage];
CGImageRef cgimg = [context createCGImage:outputImage fromRect:[outputImage extent]];
UIImage *newImg = [UIImage imageWithCGImage:cgimg];
[Image_View setImage:newImg];