【发布时间】:2017-10-06 18:23:18
【问题描述】:
遇到这个问题并尝试修复它几个小时。
func changeColorByTransparent(colorMasking : [CGFloat]) {
UIGraphicsBeginImageContext(self.symbolImageView.frame.size)
self.symbolImageView.layer.render(in: UIGraphicsGetCurrentContext()!)
self.symbolImageView.image = UIGraphicsGetImageFromCurrentImageContext()
UIGraphicsEndImageContext()
if let image = self.symbolImageView.image {
print("image ok")
if let cgimage = image.cgImage {
print("cgimage ok")
if let imageRef = cgimage.copy(maskingColorComponents: colorMasking) {
print("imageRef ok")
self.symbolImageView.image = UIImage(cgImage: imageRef, scale: (self.symbolImageView.image?.scale)!, orientation: (self.symbolImageView.image?.imageOrientation)!)
}
}
}
}
控制台给我:
image ok
cgimage ok
它总是告诉我 imageRef 是 nil,但调试会找到 symbolImageView.image 的图像,并且该图像是 JPG 格式。 colorMasking 就像 colorMasking = [222,255,222,255,222,255] 所以也没问题。
非常感谢您的宝贵时间。
【问题讨论】:
-
"colorMasking 就像 colorMasking = [222,255,222,255,222,255]" 这就是问题所在。这些值是错误的。