我有一张带有白线的图片。我需要将图片中所有白色颜色改为透明。我在 obj-c 中找到了解决方案,但它不起作用。图片中还有黄色和红色颜色。
我的代码:
但我什么也没看到 - 图像很清晰(可能)。我做错了什么,请问?谢谢。
我的代码:
let rawImageRef: CGImageRef = image.CGImage!
let colorMasking: [CGFloat] = [222, 255, 222, 255, 222, 255]
UIGraphicsBeginImageContext(image.size);
let maskedImageRef=CGImageCreateWithMaskingColors(rawImageRef, colorMasking);
CGContextTranslateCTM(UIGraphicsGetCurrentContext(), 0.0, image.size.height);
CGContextScaleCTM(UIGraphicsGetCurrentContext(), 1.0, -1.0);
CGContextDrawImage(UIGraphicsGetCurrentContext(), CGRectMake(0, 0, image.size.width, image.size.height), maskedImageRef);
let result = UIGraphicsGetImageFromCurrentImageContext();
UIGraphicsEndImageContext();
self.controlView.image = result!
但我什么也没看到 - 图像很清晰(可能)。我做错了什么,请问?谢谢。
CGImageCreateWithMaskingColors
时,掩膜颜色必须在与源图像相同的“空间”中指定,因此根据源图像的不同,您可能需要使用整数或浮点数。 - David Berry