gpt4 book ai didi

ios - 在 Swift 中合并两个不同的图像

转载 作者:搜寻专家 更新时间:2023-11-01 05:53:31 29 4
gpt4 key购买 nike

我想在 Swift 中合并两个 UIImage:

enter image description here

enter image description here

我试过了

func maskImage(image: UIImage, withMask maskImage: UIImage) -> UIImage {

let maskRef = maskImage.CGImage

let mask = CGImageMaskCreate(
CGImageGetWidth(maskRef),
CGImageGetHeight(maskRef),
CGImageGetBitsPerComponent(maskRef),
CGImageGetBitsPerPixel(maskRef),
CGImageGetBytesPerRow(maskRef),
CGImageGetDataProvider(maskRef),
nil,
false)

let masked = CGImageCreateWithMask(image.CGImage, mask)
let maskedImage = UIImage(CGImage: masked!)

// No need to release. Core Foundation objects are automatically memory managed.

return maskedImage

}

和电话

    let imageName = data.valueForKey("imagename")!.description
let image = UIImage(named: imageName)
let imageBackground : UIImage = UIImage(named:"background")!
let maskedImage: UIImage = self.maskImage(image!, withMask: imageBackground)

cell.imageButton.setImage(maskedImage, forState: .Normal)

结果只是我用 let image = UIImage(named: imageName) 得到的图像,第二张图像( Volley )

我的错误是什么?

最佳答案

如果您不关心性能,您可以使用 Core Image

let volleyballImage = CIImage(image: UIImage(named:"volleyball.png")!)
let otherImage = CIImage(image: UIImage(named:"other.png")!)
let compositeFilter = CIFilter(name: "CIAdditionCompositing")!

compositeFilter.setValue(volleyballImage,
forKey: kCIInputImageKey)
compositeFilter.setValue(otherImage,
forKey: kCIInputBackgroundImageKey)

if let compositeImage = compositeFilter.outputImage{
let image = UIImage(CIImage: compositeImage)
// do something with the "merged" image
}

关于ios - 在 Swift 中合并两个不同的图像,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37619161/

29 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com