我有一个 iPhone 应用程序,可以让人们用手指在屏幕上画画。他们在黑色背景上用白线画画。但是,当我将此图像上传到网络服务器时,线条本身是白色的。我一直在尝试通过核心图形库来寻找反转绘制图像颜色的方法。没有设置背景,因此它应该是透明的。进行图像反转应该将白色交换为黑色。
有谁知道这是否可以通过核心图形库实现?
干杯
最佳答案
我最终找到了一个好方法。我没有简单地将原始图像的背景设为透明,而是将其设为黑色。现在黑色背景上有白线。然后,这只是一个简单的事情:
UIGraphicsBeginImageContext(image.size);
CGContextSetBlendMode(UIGraphicsGetCurrentContext(), kCGBlendModeCopy);
[image drawInRect:CGRectMake(0, 0, image.size.width, image.size.height)];
CGContextSetBlendMode(UIGraphicsGetCurrentContext(), kCGBlendModeDifference);
CGContextSetFillColorWithColor(UIGraphicsGetCurrentContext(),[UIColor whiteColor].CGColor);
CGContextFillRect(UIGraphicsGetCurrentContext(), CGRectMake(0, 0, image.size.width, image.size.height));
UIImage *returnImage = UIGraphicsGetImageFromCurrentImageContext();
UIGraphicsEndImageContext();
变量'image'是黑底白线的原始图像。感谢您的帮助大卫·索西
关于iPhone SDK 反转 UIImage 的颜色,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2263467/