如何在 iOS 中使用 CIFilter?

发布于 2024-07-29 00:11:17 字数 484 浏览 10 评论 0原文

苹果表示 CIFilter 可在 iOS 中使用。 但是,在我的 Mac 上,我找不到可链接的 CoreImage 框架。

filter 可选的核心图像过滤器 提供转换的对象。

@property(retain) CIFilter *过滤器

即当我尝试执行类似操作时,它会崩溃,因为 CIFilter 未知:

[transition setFilter:[CIFilter filterWithName:@"CIShapedWaterRipple"]];

我链接到:

#import <UIKit/UIKit.h>
#import <QuartzCore/QuartzCore.h>
#import <CoreGraphics/CoreGraphics.h>

Apple says that CIFilter is available in iOS. However, on my mac I couldn't find an CoreImage framework to link against.

filter An optional Core Image filter
object that provides the transition.

@property(retain) CIFilter *filter

i.e. when I try to do something like this, it crashes because CIFilter is unknown:

[transition setFilter:[CIFilter filterWithName:@"CIShapedWaterRipple"]];

I linked against:

#import <UIKit/UIKit.h>
#import <QuartzCore/QuartzCore.h>
#import <CoreGraphics/CoreGraphics.h>

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

御守 2024-08-05 00:11:17

以下是我如何使用 CIFilter 在 iPhone 上生成过滤后的 UIImage 的示例。

- (UIImage*)sepia
{    
    CIImage *beginImage = [CIImage imageWithCGImage:[self CGImage]];
    CIContext *context = [CIContext contextWithOptions:nil];

    CIFilter *filter = [CIFilter filterWithName:@"CISepiaTone" 
                                  keysAndValues: kCIInputImageKey, beginImage, 
                        @"inputIntensity", [NSNumber numberWithFloat:0.8], nil];
    CIImage *outputImage = [filter outputImage];

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

    self = newImg;

    CGImageRelease(cgimg);
    return self;
}

The following is an example of how I am generating a filtered UIImage on the iPhone using a CIFilter.

- (UIImage*)sepia
{    
    CIImage *beginImage = [CIImage imageWithCGImage:[self CGImage]];
    CIContext *context = [CIContext contextWithOptions:nil];

    CIFilter *filter = [CIFilter filterWithName:@"CISepiaTone" 
                                  keysAndValues: kCIInputImageKey, beginImage, 
                        @"inputIntensity", [NSNumber numberWithFloat:0.8], nil];
    CIImage *outputImage = [filter outputImage];

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

    self = newImg;

    CGImageRelease(cgimg);
    return self;
}
情未る 2024-08-05 00:11:17

CIFilter 从 iOS 5 开始可用

CIFilter is available starting with iOS 5

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文