Ios 如何使用CIFilter CiColorCube

Ios 如何使用CIFilter CiColorCube,ios,core-image,cifilter,Ios,Core Image,Cifilter,有人能给我解释一下,这个过滤器是如何工作的吗?我看过WWDC 2012和文档,但还是不太明白。在何处以及如何定义立方体颜色贴图。它是在.h还是.m文件中?我有ViewController.h和.m,其中我使用了一些过滤器,我需要使用CiColorCube过滤器,但我不知道如何使用。这是我的代码: - (void)viewDidLoad { // here i would like to use CIColorCube CIImage *inputImage = [[CIImage

有人能给我解释一下,这个过滤器是如何工作的吗?我看过WWDC 2012和文档,但还是不太明白。在何处以及如何定义立方体颜色贴图。它是在.h还是.m文件中?我有ViewController.h和.m,其中我使用了一些过滤器,我需要使用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];
}

在苹果的开发者库中,有一个文档展示了如何制作彩色地图


另外,在XCode中,您可以查找ImageApp示例代码,它还显示了如何在ImageFilter.m中使用。在Apple的开发者库中,有一个文档显示了如何制作颜色映射


另外,在XCode中,您可以查找ImageApp示例代码,它还显示了如何在ImageFilter.m.

中替换颜色数组中的颜色。例如,您可以使图像大部分为黑白,左侧为红色。此颜色数组应转换为NSData。不幸的是,我没有找到关于这个主题的好教程,但我认为你可以在Photoshop或3D Lut Creator应用程序中创建这些数组。据我所知,它取代了颜色数组中的颜色。例如,您可以使图像大部分为黑白,左侧为红色。此颜色数组应转换为NSData。不幸的是,我没有找到关于这个主题的好教程,但我认为你可以在Photoshop或3D Lut Creator应用程序中创建这些数组。