Ios 我如何组合两个或多个图像
如何将两个或多个CIImage合并到另一个CIImage中。我尝试使用ciContext.drawImage。如何从中获取CGImage??我所理解的是,我在一个上下文中写作,我应该能够从中获得一个图像。如果我理解错了什么,请告诉我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,
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。一个代码示例将非常有用