我有一个UIImage,我计划创建一个掩码,以便当用户继续进行注册过程时,会显示每个号码从非活动,活动到完成(复选标记)。我也在创造一个"错误"如果出现错误,我想放置标志。这有点像一个pageviewcontroller,但我不想使用pageviewcontroller。它们是5个圆圈,在活动或非活动时会改变颜色,在完成时改为复选标记或者" X"为了错误。我应该使用CGImageMaskCreate还是CALayer?这就是我到目前为止所做的:
func progressImage(name:String) - > UIImage {
let stepOne: UIImage = UIImage(named: name)!
print("UIImage 1: \(stepOne.size.width) H\(stepOne.size.height)")
let maskImage: CGImage = stepOne.CGImage!
}
func maskImage(image:UIImage,mask:(UIImage)) - > UIImage {
let imageReference = image.CGImage
let maskReference = mask.CGImage
let imageMask = CGImageMaskCreate(CGImageGetWidth(maskReference),
CGImageGetHeight(maskReference),
CGImageGetBitsPerComponent(maskReference),
CGImageGetBitsPerPixel(maskReference),
CGImageGetBytesPerRow(maskReference),
CGImageGetDataProvider(maskReference), nil, true)
let maskedReference = CGImageCreateWithMask(imageReference, imageMask)
let maskedImage = UIImage(CGImage:maskedReference!)
return maskedImage
}
覆盖func viewDidLoad(){ super.viewDidLoad()
//Image array
let image = UIImage(named: "image1.png")
let maskingImage = UIImage(named: "mask1.png")
imageView.image = maskImage(image!, mask: maskingImage!)
}