Core Graphics 学习(三) Shadow

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

阴影有三个特征:
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
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

友情链接更多精彩内容