Drawing with XOR in Quartz
假设我正在将一些应用程序移植到 Mac OS X,并且在某些情况下,它在其他平台下使用 Xor 操作呈现文本和插入符号。研究表明,Quartz 绘图函数不支持 XOR 操作。我对么?有什么替代方法可以将这些代码片段移植到 Mac OS X 上?
请注意,XOR 是一种位图操作(实际上是二进制,因此仅针对黑白定义),因此仅在将一个位图绘制在另一个位图上时才定义它。 Quartz 提供了多种位图混合模式,包括差异 (
您可以在实践中执行此操作的方法是获取插入符号的图像(黑色背景上的白色插入符号)并使用上述任一混合模式(参见
QuickDraw XOR 模式"只为黑白定义"绝对不是真的。例如,在 Inside Macintosh, Color Quickdraw 中对于"srcXor"模式的原始描述是:
如果源像素为黑色,则反转目标像素-对于彩色目标像素,如果像素是直接的,则使用其颜色的补色,如果像素被索引,则反转其索引。