Ios 我如何组合两个或多个图像

Ios 我如何组合两个或多个图像,ios,swift,ciimage,Ios,Swift,Ciimage,如何将两个或多个CIImage合并到另一个CIImage中。我尝试使用ciContext.drawImage。如何从中获取CGImage??我所理解的是,我在一个上下文中写作,我应该能够从中获得一个图像。如果我理解错了什么,请告诉我 let eaglContext = EAGLContext(API: .OpenGLES2) let ciContext = CIContext(EAGLContext: eaglContext) ciContext.drawImage(firstCIImage,

如何将两个或多个CIImage合并到另一个CIImage中。我尝试使用ciContext.drawImage。如何从中获取CGImage??我所理解的是,我在一个上下文中写作,我应该能够从中获得一个图像。如果我理解错了什么,请告诉我

let eaglContext = EAGLContext(API: .OpenGLES2)
let ciContext = CIContext(EAGLContext: eaglContext)
ciContext.drawImage(firstCIImage, inRect: firstRect, fromRect: secondRect)
ciContext.drawImage(secondCIImage, inRect: secondRect, fromRect: secondRect)

您应该为此使用CIFilter-s:)


您可以尝试以下方法:

    var outputImage: CIImage?
    let images : Array<CIImage> = [] // add all your CIImages that you'd like to combine
    for image in images {
        outputImage = outputImage == nil ? image : image.imageByCompositingOverImage(outputImage!)
    }
    var cgImage: CGImageRef
    if let image = outputImage {
        let eaglContext = EAGLContext(API: .OpenGLES2)
        let ciContext = CIContext(EAGLContext: eaglContext)
        cgImage = ciContext.createCGImage(image, fromRect: image.extent)
    }
var outputImage:CIImage?
让images:Array=[]//添加所有要合并的CIImages
对于图像中的图像{
outputImage=outputImage==nil?image:image.imageByCompositingOverImage(outputImage!)
}
cgImage:CGImageRef
如果让图像=输出图像{
让eaglContext=eaglContext(API:.OpenGLES2)
让ciContext=ciContext(EAGLContext:EAGLContext)
cgImage=ciContext.createCGImage(image,fromRect:image.extent)
}

我同意斯洛克的观点。核心图像过滤器是完成此任务的合适工具。抱歉,我仍然无法完成此任务。CIFilter需要初始化一个映像。我应该用哪个图像初始化它,过滤器名称应该是什么?我有firstCIImage和secondCIImage,我想把它们结合起来形成第三个CiImage。一个代码示例将非常有用