gpt4 book ai didi

objective-c - 如何在 Xcode 中使用图像过渡滤镜?

转载 作者:行者123 更新时间:2023-12-01 17:34:06 25 4
gpt4 key购买 nike

关注了 tutorial在 Ray Wenderlich 的网站上取得了成功,我决定尝试操纵我学到的知识并将其应用于 CITransition,尤其是 CIDissolveTransition。但是,即使在交叉引用我从 Apple 自己的过滤器文档中学到的东西之后,我似乎也无法让图像出现(我得说,这些文档已经过时并且很难在他们自己复杂的示例之外进行调整)。这是我到目前为止所拥有的:

NSURL *url = [NSURL fileURLWithPath:imagePath];
NSURL *url2 = [NSURL fileURLWithPath:image2Path];
CIContext *context;
CIFilter *filter;
CIImage *beginImage, *targetImage;
UIImageView *mainImage = [[UIImageView alloc] initWithFrame:CGRectMake(0, 0, 200, 200)];
[self addSubview:mainImage];

beginImage = [CIImage imageWithContentsOfURL:url];
targetImage = [CIImage imageWithContentsOfURL:url2];

if(context == nil)
{
NSLog(@"Creating Context");
context = [CIContext contextWithOptions:nil];
}
if(filter == nil) {
NSLog(@"Creating filter");
filter = [CIFilter filterWithName:@"CIDissolveTransition" keysAndValues:@"inputImage", beginImage, @"inputTargetImage", targetImage, @"inputTime", [NSNumber numberWithFloat:0.5], nil];
}

CIImage *outputImage = [filter outputImage];

CGImageRef cgimg = [context createCGImage:outputImage fromRect:[outputImage extent]];
UIImage *newImg = [UIImage imageWithCGImage:cgimg];

[mainImage setImage:newImg];
我得到的只是一个黑屏,应该显示 mainImage 。最终目标是能够使用 slider (我只是假设它会起作用)循环通过具有这种溶解效果的一系列图像,但我什至无法显示这个静态图像。任何帮助将不胜感激。

最佳答案

您对 filterWithName:keysAndValues: 的调用返回 nil,因为 iOS 不知道如何制作 CDossolveTransition 过滤器。
Core Image for iOS 不支持 Core image for Mac OS 支持的所有过滤器。见 this answer

您可以阅读Apple's Core image Filter引用并查看 iOS 支持哪些过滤器,但坏消息是转场并没有适用于 iOS 5。iOS 5 中唯一可用的处理合成的过滤器是 CISourceOverCompositing,这可能对你来说不是很有趣.

关于objective-c - 如何在 Xcode 中使用图像过渡滤镜?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10132448/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com