Core Graphics 学习(三) Shadow

2018-07-30  本文已影响18人  toro宇

阴影是绘制在图片下方,有便宜的背景图像, 就像光源投射而产生的效果. 文字也有阴影.

阴影有三个特征:
x轴偏移
y轴偏移
模糊度

绘制阴影

绘制一般阴影

//: MARK: 绘制阴影func drawShadow(_ context: CGContext, rect: CGRect) { // 绘制阴影 // 1. 保存 graphics 状态 context.saveGState() // 2. 设置阴影 context.setShadow(offset: CGSize(width: 20, height: 20), blur: 0.6) // 3. 绘制需要添加阴影的图形 context.setFillColor(red: 0, green: 1, blue: 0, alpha: 1) context.fill(CGRect(x: rect.size.width / 3 + 75, y: rect.size.height / 2, width: rect.size.width / 4, height: rect.size.height / 4)) // 4. 保存 graphics 状态 context.saveGState()}

绘制特定颜色的背景

//: MARK: 绘制特定颜色的阴影func drawColorShadow(_ context: CGContext, rect: CGRect) { // 1. 保存 graphics 状态 context.saveGState() // 2. 设置阴影 let colorSpace = CGColorSpaceCreateDeviceRGB() let cgColor = CGColor.init(colorSpace: colorSpace, components: [1, 0.3, 0.9, 0.6]) context.setShadow(offset: CGSize(width: 20, height: 20), blur: 0.6, color: cgColor) // 3. 绘制需要添加阴影的图形 context.setFillColor(red: 0, green: 0, blue: 1, alpha: 1) context.fill(CGRect(x: rect.size.width / 3 - 75, y: rect.size.height / 2 - 100, width: rect.size.width / 4, height: rect.size.height / 4)) // 4. 保存 graphics 状态 context.saveGState()}

image.png
上一篇下一篇

猜你喜欢

热点阅读