CIFilter未应用于动画按钮

时间:2015-01-15 10:16:12

标签: objective-c macos cocoa core-image

我想用CIPixellate

按一个按钮
-(IBAction)pixelButton:(id)sender
{
  [bAnim setWantsLayer:YES];
  CALayer *animLayer = [bAnim layer];
  CIFIlter *pixelFilter = [CIFilter filterWithName:@"CIPixellate"];
  [pixelFilter setDefaults];
  [pixelFilter setValue:[NSNumber numberWithFloat:2.0];
     forKey:@"inputScale"];
  if ([[animLayer filters] count == 0)
     [animLayer setFilters:[NSArray arrayWithObject:pixelFilter, nil]]; // Exception: CIFilters are not supported by this layer tree
  else
     [animLayer setFilters:nil];
}

我的图层树出了什么问题?

谢谢大家对相关问题的许多参考。我研究了所有这些,但没有一个直接适用于我的问题。

我的应用程序是一个简单的Cocoa应用程序,导入的唯一框架是QuartzCore。 Controller中的动画按钮声明如下:

@interface Controller : NSObject
{
  IBOutlet NSButton *bAnim;
etc. other stuff
}

可以在其上显示几种不同的动画,所有不使用CIFilters的动画都能完美运行。

我还在学习,为了不在这个论坛上消耗更多的带宽我很感激,如果你的解决方案专家之一会通过我的电子邮件地址与我联系:whb0701@bluewin.ch 谢谢

0 个答案:

没有答案