2013-04-01 34 views
1

能有人給我解釋一下,請問這是怎麼過濾器的工作原理,我看到WWDC 2012和文件,並仍不太瞭解。在哪裏以及如何定義立方體顏色映射。它是在.h或.m文件中?我有ViewController.h和.M,在那裏我有一些過濾器工作,我需要使用CiColorCube過濾器,但我只是不知道如何。這是我的代碼:如何使用CIFilter CiColorCube

- (void)viewDidLoad 
{ 
    // here i would like to use CIColorCube 
    CIImage *inputImage = [[CIImage alloc]initWithImage:[UIImage imageNamed:@"background.jpg"]]; 
    CIImage *inputBackgroundImg = [[CIImage alloc]initWithImage:[UIImage imageNamed:@"image.jpeg"]]; 
    CIContext *context = [CIContext contextWithOptions:nil]; 
    vignette = [CIFilter filterWithName:@"CIVignette"]; 
    [vignette setValue:inputImage forKey:kCIInputImageKey]; 
    [vignette setValue:[NSNumber numberWithFloat:2.5] forKey:@"inputRadius"]; 
    [vignette setValue:[NSNumber numberWithFloat:2.9] forKey:@"inputIntensity"]; 
    sourceOC = [CIFilter filterWithName:@"CISourceOverCompositing"]; 
    [sourceOC setValue:vignette.outputImage forKey:kCIInputImageKey]; 
    [sourceOC setValue:inputBackgroundImg forKey:@"inputBackgroundImage"]; 
    maskToAlpha = [CIFilter filterWithName:@"CIMaskToAlpha"]; 
    [maskToAlpha setValue:inputImage forKey:kCIInputImageKey]; 
    CIImage *outputImage = maskToAlpha.outputImage; 
    imageView.image = [UIImage imageWithCGImage:[context createCGImage:outputImage fromRect:outputImage.extent]]; 
    [super viewDidLoad]; 
} 
+0

根據我的理解,它取代了顏色陣列的顏色。例如,你可以使圖像大多是黑色和白色,並留下紅色。這個顏色數組應該轉換爲NSData。不幸的是,我沒有在這個主題上找到好的教程,但我認爲你可以在Photoshop或3D Lut Creator應用程序中創建這些數組。 – Shmidt

回答