CodeV

6.6-翻转渐变

渐变自然模仿光(照效果)。 当倒置时,它们建立视觉中空。 这些是在物理世界中内凹以捕获反转光(照射)模式的区域。你在图6-12看到, 绘制渐变第一种方式,然后在插入后,建立的其他效果。

图6-12

图6-12反转渐变创建一个3D插入效果。

示例6-5显示了构建左侧圆形示例的代码。 它创建从浅灰色到深灰色的渐变,并在较大的形状中从顶部到底部首先绘制它。 然后它反转方向,再次向另一个方向,使用(在)较小的形状(中绘制)。

示例6-5增加了在较小形状顶部绘制轻微黑色内阴影(见第5章)的最后手法。 该阴影强调了两个图之间的区别点,但是是完全可选的。

示例6-5以相反方向绘制渐变

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
UIBezierPath *outerPath =
[UIBezierPath bezierPathWithOvalInRect:outerRect];
UIBezierPath *innerPath =
[UIBezierPath bezierPathWithOvalInRect:innerRect];

Gradient *gradient =
[Gradient gradientFrom:WHITE_LEVEL(0.66, 1)
to:WHITE_LEVEL(0.33, 1)];

PushDraw(^{
[outerPath addClip];
[gradient drawTopToBottom:outerRect];
});

PushDraw(^{
[innerPath addClip];
[gradient drawBottomToTop:innerRect];
});

DrawInnerShadow(innerPath, WHITE_LEVEL(0.0, 0.5f),
CGSizeMake(0, 2), 2);

本文翻译自《iOS Drawing Practical UIKit Solutions》作者:Erica Sadun,翻译:Cheng Dong。如果觉得本书不错请购买支持正版:亚马逊购买传送门,本书所有源代码可在GitHub上下载。译者虽然力求做到信,达,雅,但是由于时间仓促加之译者水平十分有限,文中难免会出现不正确,不准确,词不达意,难于理解的地方,还望各位批评指正,共同进步,谢谢。转载请注明出处。