【发布时间】:2012-05-20 09:40:31
【问题描述】:
我关注了两张图片,背景可能是完全不同的图片,例如不仅仅是纯色。
所以基本上我想得到这两个图像的差异图像,即
两个图像的差异图像是具有相同大小的图像,但 像素设置为未更改的透明。差异图像由具有第二张图像颜色的差异像素构成
我正在寻找基于核心图形技术的解决方案,请不要建议在循环中运行所有像素。我确实关心性能。
由于我是 Quartz 的新手,我想知道是否可以使用遮罩来实现这一点? 或者请提出另一种方法!
关于使用差异混合模式的更新 实际上,如果我使用差异混合模式,它并不能解决我的问题,因为它不能保持像素的正确颜色。如果我将差异混合模式应用于以上 2 张图像,我将得到以下结果
这似乎对像素有反转的颜色,然后如果我反转它们,我会跟随
这实际上不是我想要的,因为像素颜色完全不同
【问题讨论】:
-
stackoverflow.com/questions/3901404/… 接受的答案看起来可能会有所帮助。
-
@rokjarc 感谢您的链接,但在我的情况下,差异混合模式并不是一个解决方案,只是更新了示例图像来演示它。
-
如果你在设置
CGContextSetBlendMode(kCGBlendModeDifference);之后只在另一张图像上绘制会发生什么,这不是你想要的吗? -
@DavidRönnqvist 请查看我关于应用差异混合模式的更新问题
-
如果更新问题末尾的倒置图像不是您想要的,您如何定义差异?您在帖子顶部给出的示例很奇怪,因为它具有来自 image2 的黑色文本为黑色,但来自 image1 的蓝色形状不是蓝色。要么两者都应该是它们的原始颜色,还是我错了?
标签: iphone objective-c ipad image-processing core-graphics