2009-07-22 9 views
6

Apple dice que CIFilter está disponible en iPhone OS. Sin embargo, en mi Mac no pude encontrar un marco de CoreImage para enlazar.¿Cómo puedo usar CIFilter en iPhone OS?

filtro Un filtro de imagen central opcional objeto que proporciona la transición.

@property (retener) CIFilter * Filtro

es decir, cuando trato de hacer algo como esto, se bloquea debido a CIFilter es desconocida:

[transition setFilter:[CIFilter filterWithName:@"CIShapedWaterRipple"]]; 

he vinculado en contra:

#import <UIKit/UIKit.h> 
#import <QuartzCore/QuartzCore.h> 
#import <CoreGraphics/CoreGraphics.h> 

Respuesta

6

El siguiente es un ejemplo de cómo estoy generando un UIImage filtrado en el iPhone usando un CIFilter.

- (UIImage*)sepia 
{  
    CIImage *beginImage = [CIImage imageWithCGImage:[self CGImage]]; 
    CIContext *context = [CIContext contextWithOptions:nil]; 

    CIFilter *filter = [CIFilter filterWithName:@"CISepiaTone" 
            keysAndValues: kCIInputImageKey, beginImage, 
         @"inputIntensity", [NSNumber numberWithFloat:0.8], nil]; 
    CIImage *outputImage = [filter outputImage]; 

    CGImageRef cgimg = 
    [context createCGImage:outputImage fromRect:[outputImage extent]]; 
    UIImage *newImg = [UIImage imageWithCGImage:cgimg]; 

    self = newImg; 

    CGImageRelease(cgimg); 
    return self; 
} 
4

CIFilter está disponible a partir iOS 5

Cuestiones relacionadas