`
3lll
  • 浏览: 68098 次
  • 性别: Icon_minigender_1
  • 来自: 合肥
社区版块
存档分类
最新评论

(原创)iOS 根据百分比获得渐进色 由绿到红

阅读更多

根据red,green,blue三原色的不同数值组合,可以得到不同颜色。将百分比作为参数,控制某两种颜色的值,就可以得到两种颜色的渐进色。

以获得由绿到蓝的渐进色为例:

- (UIColor*)getColorByPercent:(double)percent {
    NSInteger r   = 0;
    NSInteger g   = 0;
    NSInteger one = 255 + 255;
    if ( percent < 0.5 ) {
        // 比例小于50的时候红色是越来越多的,直到红色为255时(红+绿)变为黄色.
        r = one * percent;
        g=255;
    }
    if ( percent >= 0.5 ) {
        // 比例大于50的时候绿色是越来越少的,直到0 变为纯红
        g = 255 - ( (percent - 0.5 ) * one) ;
        r = 255;
    }
    return [UIColor colorWithRed:r/255.0 green:g/255.0 blue:0 alpha:1];
}

    同理,可以得到由蓝到红,由黄到红等根据百分比获得渐进颜色的方法。

    转载请注明出处 灰烬里有颗心的博客 http://grayheart.iteye.com 。

分享到:
评论

相关推荐

    ios-扇形统计图.zip

    - 可以通过修改`CAShapeLayer`的`strokeEnd`属性来实现渐进式显示扇形图,增加动态效果。`strokeEnd`值从0到1变化,随着值的增加,圆弧的绘制也会逐渐完成。 8. **响应用户交互** - 为了实现触摸选择扇形区域的...

    CSS3浏览器兼容支持情况查询工具:Can I Use.docx

    - **渐进增强与优雅降级**:理解哪些特性是现代浏览器的默认支持,哪些需要提供回退方案,以确保在老版本浏览器中的基本可用性。 - **测试策略**:确定需要在哪些浏览器和版本上进行功能测试,确保关键特性的兼容性...

    ProgressView,

    1. **动画效果**:ProgressView 允许开发者自定义进度条的动画,例如渐进式增长、平滑过渡、脉冲效果等,使得用户体验更加流畅和吸引人。 2. **颜色定制**:开发者可以自由设定进度条的颜色,背景颜色以及轨道颜色...

    饼状图piechart(仿支付宝对账单)

    MPAndroidChart库提供了多种动画选项,例如渐进式动画(PieChart.ANIMATION_TYPE_EXPAND_CIRCULAR)。 ```java pieChart.animateXY(1500, 1500, Easing.EaseInOutQuart); ``` 总结起来,这个仿支付宝对账单项目...

    数字进度条

    2. **动态效果**:除了静态展示进度,数字进度条还可以通过动画效果增强用户体验,例如平滑过渡、渐进填充、闪烁提示等。这些动态效果可以使用户感受到操作的实时进展。 3. **可自定义性**:开发者可以通过API或...

    工程硕士学位论文 基于Android+HTML5的移动Web项目高效开发探究

    (3)针对页面自适应问题,本文结合渐进增强以及拥抱流式布局的思想,同时研究利用了移动设备的视口特性,实现跨分辨率、跨设备的页面自适应。 (4)针对系统的功能实现问题,通过结合利用原生态框架与HTML5的跨平台...

    自定义进度条

    - **渐进式加载**:在大型数据加载或上传下载场景中,进度条可以展示实时进度,通过API接口获取并更新数据。 - **多任务进度**:在处理多个并发任务时,可以设计复合进度条,显示每个任务的独立进度及总体进度。 ...

    通用进度条

    5. **动画效果**:为了增加视觉吸引力,进度条通常会有平滑的动画效果,如渐进填充或旋转动作。 6. **模态对话框**:模态进度条常常出现在模态对话框中,这种设计可以确保用户的注意力集中在当前正在进行的操作上,...

    手机端网站开发

    - 使用**渐进增强**或**优雅降级**策略,确保在不支持新特性的浏览器中也能正常显示内容。 - 利用**Modernizr**等库检测浏览器对HTML5和CSS3的支持情况,进行针对性的代码编写。 - 使用**polyfill**,如`...

    详解移动端实现内滚动的四种解决方案

    在移动端开发中,实现内滚动是一项常见...对于兼容性问题,可以使用条件注释、Modernizr等工具检测浏览器特性,以便优雅降级或渐进增强。同时,确保在真实设备上进行测试,以确保在各种环境下都能提供良好的用户体验。

Global site tag (gtag.js) - Google Analytics