Форматирование данных CIColorCube
Недавно ямы пытались настроить CIColorCube на CIImage, чтобы создать пользовательский эффект. Вот'То, что у меня есть сейчас: я
uint8_t color_cube_data[8*4] = {
0, 0, 0, 1,
255, 0, 0, 1,
0, 255, 0, 1,
255, 255, 0, 1,
0, 0, 255, 1,
255, 0, 255, 1,
0, 255, 255, 1,
255, 255, 255, 1
};
NSData * cube_data =[NSData dataWithBytes:color_cube_data length:8*4*sizeof(uint8_t)];
CIFilter *filter = [CIFilter filterWithName:@"CIColorCube"];
[filter setValue:beginImage forKey:kCIInputImageKey];
[filter setValue:@2 forKey:@"inputCubeDimension"];
[filter setValue:cube_data forKey:@"inputCubeData"];
outputImage = [filter outputImage];
Я проверил сессию основного образа WWDC 2012 и то, что у меня до сих пор нетт работа. Я'Мы также проверили Интернет, и по этому вопросу доступно очень мало ресурсов. Мой код выше просто возвращает черное изображение.
В Appleбиблиотека разработчика, это говорит:
Этот фильтр применяет сопоставление из пространства RGB к новым значениям цвета, которые определены в inputCubeData. Для каждого пикселя RGBA в inputImage фильтр использует значения R, G и B для индексации трехмерной текстуры, представленной inputCubeData. inputCubeData содержит ячейки RGBA с плавающей запятой, которые содержат линейные предварительно умноженные значения. Данные организованы в число inputCubeDimension xy плоскостей, с каждой плоскостью размера inputCubeDimension по inputCubeDimension. Входные пиксельные компоненты R и G используются для индексации данных по x и y соответственно, а B используется для индексации по z. В inputCubeData компонент R меняется быстрее всего, затем следует G, затем B.
Однако это не имеет смысла для меня. Как мойinputCubeData
нужно отформатировать?