Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/iphone/40.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Iphone 核心图形:如何在不改变公共区域颜色的情况下绘制重叠半透明矩形 当两个半透明重叠时,中间部分会结合并混合成较深的颜色。有没有办法像往常一样绘制矩形,但使重叠部分的颜色和透明度与矩形的其余部分相同?_Iphone_Cocoa Touch_Core Graphics - Fatal编程技术网

Iphone 核心图形:如何在不改变公共区域颜色的情况下绘制重叠半透明矩形 当两个半透明重叠时,中间部分会结合并混合成较深的颜色。有没有办法像往常一样绘制矩形,但使重叠部分的颜色和透明度与矩形的其余部分相同?

Iphone 核心图形:如何在不改变公共区域颜色的情况下绘制重叠半透明矩形 当两个半透明重叠时,中间部分会结合并混合成较深的颜色。有没有办法像往常一样绘制矩形,但使重叠部分的颜色和透明度与矩形的其余部分相同?,iphone,cocoa-touch,core-graphics,Iphone,Cocoa Touch,Core Graphics,您可以使用 rect = CGRectIntersection(bottomRect, topRect) 然后绘制bottomRect,然后用默认的纯色背景填充计算出的rect,并在其顶部绘制topRect。如果我得到交叉点rect,我应该如何从重叠的矩形中减去该矩形?否则它看起来像是同一个问题。你不需要减法。使用UIView的纯色背景在底部矩形上绘制。谢谢,这应该可以解决背景为纯色或可重复图案时的问题。如果您有答案,请将答案标记为已接受。它鼓励社区参与。

您可以使用

rect = CGRectIntersection(bottomRect, topRect)

然后绘制
bottomRect
,然后用默认的纯色背景填充计算出的
rect
,并在其顶部绘制
topRect

如果我得到交叉点rect,我应该如何从重叠的矩形中减去该矩形?否则它看起来像是同一个问题。你不需要减法。使用
UIView
的纯色背景在底部矩形上绘制。谢谢,这应该可以解决背景为纯色或可重复图案时的问题。如果您有答案,请将答案标记为已接受。它鼓励社区参与。