2
以下是我试图应用CIFourfoldRotatedTile筛选器上的图像的代码,但我在输出中得到一个零图像。CIFourfoldRotatedTile核心图像筛选器
CIContext *context = [CIContext contextWithOptions:nil]; // 1
CIImage *aimage = [CIImage imageWithCGImage:[UIImage imageNamed:@"Image1.png"].CGImage];
CIFilter *filter = [CIFilter filterWithName:@"CIFourfoldRotatedTile"]; // 3
[filter setValue:aimage forKey:kCIInputImageKey];
[filter setValue:[CIVector vectorWithCGPoint:CGPointMake(200, 200)] forKey:@"inputCenter"];
[filter setValue:[NSNumber numberWithFloat:2.0] forKey:@"inputAngle"];
[filter setValue:[NSNumber numberWithFloat:50] forKey:@"inputWidth"];
CIImage *result = [filter valueForKey:kCIOutputImageKey]; // 4
CGRect extent = [result extent];
CGImageRef cgImage = [context createCGImage:result fromRect:extent];
UIImage *finalImage = [UIImage imageWithCGImage:cgImage];
self.imgview.image = finalImage;
不知道我输入错误的参数。请在此引导我。 谢谢。
盘区包含输出图像大小,这意味着我的输出图像没有正确使用过滤器创建 – Leena
我想我是对的。你应该使用'[aimage extent]'而不是'[result extent]' – TheTiger
其实我也试过'CIGaussianBlur'和'[result extent]'不正确,即使你也可以用默认值测试它。请不要填写任何内容,只需尝试使用默认值即可。 – TheTiger