我正在尝试加快我的图像处理代码。我尝试的一个因素是CIImage
直接创建一个,如下所示:
CIImage* ciImageStrong;
if (_cachedData)
{
_cachedData = [NSData dataWithContentsOfFile:pathForResource];
ciImageStrong = [CIImage imageWithData:_cachedData];
}
else
{
ciImageStrong = [CIImage imageWithContentsOfURL:[NSURL fileURLWithPath:pathForResource]];
}
我的问题是,当将它与标准@"CISourceOverCompositing"
滤镜一起使用时,所有图像都是以附加方式绘制的,而不是普通的 alpha blend。
当我使用以下代码时,一切正常:
UIImage* uiImageStrong;
if (_cachedData)
{
_cachedData = [NSData dataWithContentsOfFile:pathForResource];
uiImageStrong = [UIImage imageWithData:_cachedData];
}
else
{
uiImageStrong = [UIImage imageWithContentsOfFile:pathForResource];
}
CIImage* ciImageStrong = [CIImage imageWithCGImage:uiImageStrong.CGImage];
我尝试使用 kCGColorSpaceModelRGB 颜色空间加载它,但无济于事。问题:
- 有人知道为什么会这样吗?
- 也许有人知道直接加载a是否有什么
CIImage
好处?