我有一张用 iOS 设备拍摄的图像,其中包含几行文字和一点背景颜色(红色)。我希望图像只向用户显示单词(他们将做类似的事情)。我无法以任何方式使用 UIImageView,因此简单地获取图像并将其放在背景上是行不通的。
所以我想知道是否有人可以告诉我以下哪种方法会给我最好的结果,如果可能的话,并且例子会很好。我在下面发布了我尝试做的但运气不佳的代码(选项 2)。
- 将背景设置为白色,以便仅显示文字
- 从图像中删除红色
提前致谢
UIImage *image = [UIImage imageNamed:@"pic1.jpg"];
const float colorMasking[6] = {0.0, 0.0, 0.0, 0.0, 0.0, 0.0};
image = [UIImage imageWithCGImage: CGImageCreateWithMaskingColors(image.CGImage, colorMasking)];
最佳答案
UIImage *image = [UIImage imageNamed:@"image1.jpg"];
UIImage *inputImage = [UIImage imageWithData:UIImageJPEGRepresentation(image, 1.0)];
const float colorMasking[6] = {225.0, 255.0, 225.0, 255.0, 225.0, 255.0};
CGImageRef imageRef = CGImageCreateWithMaskingColors(inputImage.CGImage, colorMasking);
UIImage *img2 = [UIImage imageWithCGImage:imageRef];
我已经从图像背景中删除了浅灰色。RGB 的颜色范围在 225 到 255 之间。现在它看起来是透明的。
关于objective-c - 透明度 iOS,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13115524/