ios - 使用 CG/Quartz 像仪表一样填充 UIImage

标签 ios objective-c uiimage core-graphics quartz-2d

假设我有一个图像(一个半圆规),颜色从绿色到黄色再到红色。我如何使用 CoreGraphics/Quartz 以编程方式动态地裁剪和填充给定百分比的图像?

最佳答案

您可以使用带有自定义 mask 的 CALayer。

掩码将是一个 CAShapeLayer,其路径定义给定的 guage 百分比。

CALayer *guageLayer = //your CALayer, could be the backing view

CAShapeLayer *guageMask = [[CAShapeLayer alloc] init];
guageMask.path = [self _pathForCurrentGuage]; //bezier path based on your current percentage

guageLayer.mask = guageMask;

关于ios - 使用 CG/Quartz 像仪表一样填充 UIImage,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17563604/

相关文章:

ios - 我必须保存()我的 NSManagedObjectContext 吗?

ios - 如何从 Objective C 中的 JSONP 中删除回调参数以使其可用?

ios - UIImage 从文件加载时占用大量内存

ios - AVAssetWriter 的输出(写入视频的 UIImages)失真

ios - 识别 iOS 上的特定声音

ios - 6.5"显示器的 App store 屏幕截图尺寸是多少?

ios - UIButton 层样式使应用程序变慢

ios - 如何从 iOS 中 xml 文件的 d<description > 标签下的 <img src> 标签中提取图像 url?

ios - tableView 滚动时添加重复的 UITextField

iphone - 在界面生成器中构建可拉伸(stretch)图像