我有一个白色背景的UIImage。我想用alpha透明像素替换白色背景/像素。我已经查看了StackOverflow上的其他问题以及Quartz文档,但还没有找到针对此问题的连贯“开始 - 结束”。这是怎么做到的?
答案 0 :(得分:1)
第一步是你需要定义某种“距离”函数来确定像素离白色有多远。然后,您需要定义一个距离阈值,低于该阈值时,像素被视为白色。然后,您需要迭代图像的像素,根据距离和阈值将任何被视为白色的像素更改为透明。但是,主要的诀窍是使效率更高......通过函数触摸像素将非常缓慢;你最好的选择是通过访问像素所在的内存缓冲区并逐步触摸它们来直接触摸像素。
答案 1 :(得分:1)
CGImageCreateWithMaskingColors
UIImage包装CGImage。获取CGImage,通过CGImageCreateWithMaskingColors运行它,然后从结果中创建一个新的UIImage或将结果分配回UIImage。