【问题标题】:How to draw a drop shadow AND gradient with quartz2d?如何用quartz2d绘制阴影和渐变?
【发布时间】:2010-04-05 09:07:46
【问题描述】:

我有一个使用 coregraphics 的自定义形状绘图,我还想为其添加阴影和渐变。我一直在尝试和搜索很多关于如何组合和执行此操作的信息,但我无法让它工作。我也只能画一个。 任何人已经这样做或知道如何做到这一点?谢谢。

【问题讨论】:

标签: iphone core-graphics quartz-2d


【解决方案1】:

Quartz 仅对填充和描边应用阴影。绘制渐变不算作填充。

用纯色填充(绘制阴影),然后在同一区域绘制渐变。

【讨论】:

  • 所以只是为了澄清... 1. 用纯色填充绘制一个形状 2. 保存状态 3. 绘制阴影 4. 恢复状态 5. 绘制与第 1 点相同的形状,但使用渐变是正确的吗?所以我需要画3次对吗?
  • 没有办法“画出阴影”。当您填充或描边时,Quartz 会为您绘制阴影。因此,设置阴影,然后填充(使用纯色)形状,然后在其上绘制渐变。
  • 看起来你是对的,彼得,但我认为这可能是一个疏忽,尽管很难修复。例如,图像和文本会绘制阴影,透明层和 CGLayers 也是如此。我想不出任何基于非阴影的绘图不会产生阴影。标题只是说“指定阴影后,随后绘制的所有对象都将被阴影。”
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2021-10-05
  • 1970-01-01
  • 2011-11-11
相关资源
最近更新 更多