苹果表示 CIFilter 可在 iOS 中使用。但是,在我的 Mac 上,我找不到可链接的 CoreImage 框架。
过滤器 可选的核心图像过滤器
提供转换的对象。
@property(保留) CIFilter *过滤器
即,当我尝试执行类似操作时,它会崩溃,因为 CIFilter 未知:
[transition setFilter:[CIFilter filterWithName:@"CIShapedWaterRipple"]];
我链接反对:
#import <UIKit/UIKit.h>
#import <QuartzCore/QuartzCore.h>
#import <CoreGraphics/CoreGraphics.h>
以下是我如何使用 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;
}
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)