Core Image自定义 Filter (翻转图片)

#import "ViewController.h"

@interface ViewController ()

@property (weak, nonatomic) IBOutlet UIImageView *imageView1;
@property (weak, nonatomic) IBOutlet UIImageView *imageView2;

@end

@implementation ViewController

- (void)viewDidLoad {
    [super viewDidLoad];
    
    // 1. 将UIImage转换成CIImage
    CIImage *ciImage = [[CIImage alloc] initWithImage:self.imageView2.image];

    // 2. 创建滤镜
    MirrorXFilter *filter = [[MirrorXFilter alloc] init];
    // 设置相关参数
    [filter setValue:ciImage forKey:@"inputImage"];

    // 3. 渲染并输出CIImage
    CIImage *outputImage = [filter outputImage];

    // 4. 获取绘制上下文
    CIContext *context = [CIContext contextWithOptions:nil];

    // 5. 创建输出CGImage
    CGImageRef cgImage = [context createCGImage:outputImage fromRect:[outputImage extent]];
    UIImage *image = [UIImage imageWithCGImage:cgImage];
    // 6. 释放CGImage
    CGImageRelease(cgImage);
    
    self.imageView2.image = image;
}


@end

在这里插入图片描述
Demo Core Image自定义 Filter (翻转图片)

发布了119 篇原创文章 · 获赞 4 · 访问量 6万+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章