【问题标题】:Add Opacity to CGPath将不透明度添加到 CGPath
【发布时间】:2013-05-16 14:28:44
【问题描述】:

CGPathRef 定义了一个表示不可变图形路径的不透明类型。 CGMutablePathRef 定义了一个表示可变图形路径的不透明类型。

但是我们如何在CoreGraphics 中更改CGPath 的不透明度? 可以按百分比加吗?

【问题讨论】:

  • 正如 Maarten 所说,您只需确保设置笔触/填充颜色的 alpha 组件,您将获得所需的降低不透明度。
  • 路径不具有颜色、不透明度或其他诸如自身固有部分的属性。这些东西是图形状态的一部分,是上下文的一部分,你在绘制路径时设置它们。 (是的,这与大多数矢量图形应用程序不同,其中路径确实有自己的填充和/或描边颜色。)

标签: ios iphone core-graphics cgpath


【解决方案1】:

在 UIKit 和 Core Graphics 中称为“alpha”。例如:

UIColor *color = [[UIColor alloc] initWithWhite:0.5f alpha:0.5f];
CGContextSetStrokeColor(context, color.CGColor); // Assuming you have a context.
CGContextStrokePath(context);

【讨论】:

  • 请注意,在 ARC 下,该代码可能会崩溃,因为在第一行之后没有任何人拥有 CGColor 对象。 blog.bignerdranch.com/…
  • @PeterHosey 感谢您解决了这样一个令人尴尬的错误。
  • @Maarten...谢谢您...如果我在没有上下文的 CATransaction 循环中执行此操作
猜你喜欢
  • 1970-01-01
  • 2020-09-06
  • 2013-01-24
  • 2011-09-16
  • 2023-03-11
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2020-07-12
相关资源
最近更新 更多