阴影是绘制在图片下方,有便宜的背景图像, 就像光源投射而产生的效果. 文字也有阴影.
阴影有三个特征:
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()}
网友评论