iOS-画像追加フィルタ

1210 ワード

使用する知識点は色のマトリックスで、androidの中の概念、先に理解することができます
//lomo
const float colormatrix_lomo[] = {
    1.7f,  0.1f, 0.1f, 0, -73.1f,
    0,  1.7f, 0.1f, 0, -73.1f,
    0,  0.1f, 1.6f, 0, -73.1f,
    0,  0, 0, 1.0f, 0 };

//  
const float colormatrix_heibai[] = {
    0.8f,  1.6f, 0.2f, 0, -163.9f,
    0.8f,  1.6f, 0.2f, 0, -163.9f,
    0.8f,  1.6f, 0.2f, 0, -163.9f,
    0,  0, 0, 1.0f, 0 };
//  
const float colormatrix_huajiu[] = {
    0.2f,0.5f, 0.1f, 0, 40.8f,
    0.2f, 0.5f, 0.1f, 0, 40.8f,
    0.2f,0.5f, 0.1f, 0, 40.8f,
    0, 0, 0, 1, 0 };


QQ20170615-163338.gif
GPUImage画像にフィルタを追加
 //        ,         
    GPUImageVignetteFilter *passthroughFilter = [[GPUImageVignetteFilter alloc]init];
    
    
    [passthroughFilter useNextFrameForImageCapture];
    
    //     
    GPUImagePicture *stillImageSource=[[GPUImagePicture alloc]initWithImage:image];

    [stillImageSource addTarget:passthroughFilter];
    
    //    
    [stillImageSource processImage];
    
    UIImage *finallImage = [passthroughFilter imageFromCurrentFramebuffer];

    UIImageWriteToSavedPhotosAlbum(finallImage, nil, nil, nil);


https://github.com/chjwrr/imageAddFilter