如何获得圆形图层蒙版?

Met*_*man 0 core-image ios swift

我有一个正方形CIImage
我想添加round layer of a mask并将其强加在此图像上。

我应该使用CIFilter吗?

Dav*_*rry 5

要完全使用CoreImage您可以按照以下食谱进行操作:

let image = CIImage(contentsOf: URL(string: "https://s3.amazonaws.com/uploads.hipchat.com/27364/1957261/bJERqq8O2V3NVok/upload.jpg")!)

// Construct a circle
let circle = CIFilter(name: "CIRadialGradient", withInputParameters:[
    "inputRadius0":100,
    "inputRadius1":100,
    "inputColor0":CIColor(red: 1, green: 1, blue: 1, alpha:1),
    "inputColor1":CIColor(red: 0, green: 0, blue: 0, alpha:0)
    ])?.outputImage

// Turn the circle into an alpha mask
let mask = CIFilter(name: "CIMaskToAlpha", withInputParameters: [kCIInputImageKey:circle!])?.outputImage

// Apply the mask to the input image
let combine = CIFilter(name: "CIBlendWithAlphaMask", withInputParameters:[
    kCIInputMaskImageKey:mask!,
    kCIInputImageKey:image!
    ])

let output = combine?.outputImage
Run Code Online (Sandbox Code Playgroud)

虽然这只适用于圈子