我想在这里做图像遮罩是我的输出和代码。图像遮罩工作不正常,输出图像是黑白的,应该是彩色的
这是我的掩蔽参考图像(图像大小并不重要),
mask.png,
这是图像在其上即时进行掩蔽,
imggo.png,
这是输出。
我使用斯威夫特,这里是我的代码...
override func viewDidLoad() {
super.viewDidLoad()
var maskRefImg : UIImage? = UIImage(named: "mask.png")
var maskImg :UIImage? = UIImage(named: "imggo.png")
var imgView: UIImageView? = UIImageView(frame: CGRectMake(20, 50, 99, 99))
imgView?.image = maskImage(maskRefImg!, maskImage: maskImg!)
self.view.addSubview(imgView!)
}
func maskImage(image:UIImage,maskImage:UIImage)-> UIImage{
var maskRef:CGImageRef = maskImage.CGImage
var mask:CGImageRef = CGImageMaskCreate(CGImageGetWidth(maskRef), CGImageGetHeight(maskRef), CGImageGetBitsPerComponent(maskRef), CGImageGetBitsPerPixel(maskRef), CGImageGetBytesPerRow(maskRef), CGImageGetDataProvider(maskRef), nil, true)
var masked:CGImageRef = CGImageCreateWithMask(image.CGImage, mask)
return UIImage(CGImage: masked)!
}
那么,怎样才能让去!图像丰富多彩。? 有人会提供代码吗?
查看变量名称'img'和'maskimg'以及您在那里加载的图像,是不是实际上_swapped_它们?我的意思是'maskimg'应该加载'mask.png',对吗? – DarkDust
更新了令人困惑的变量名称,谢谢。 –