`
liugang594
  • 浏览: 981617 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

渐变色原理

阅读更多

[引用][http://www.islandcn.com/post/311.html]

 

在图象图形的编程中, 经常会见到渐变色以及各种图片的叠加等效果. 这篇文章就是要对这些效果的原理加以分析, 并在Elastos© 操作系统 Mobile Edition SDK上和Windows 200 Professional上使用Visual C++ 6.0 编程实现.
一. RGB三维模型与渐变色的原理及实现
 1. RGB三维模型

作为计算机图形学中重要的原色混合系统, RGB(红绿蓝)加色系统广泛应用于发光体, 如彩色CRT显示或彩色灯光. 这三种单色是得以匹配或生成可见光谱中几乎所有颜色的最小数量的原色.
为了适应不同的颜色深度, 使用0-1来表示R, G, B颜色深浅. 使用三维坐标分别表示RGB. 如下图1所示. 这样原点RGB(0, 0, 0)就表示黑色, 而原点对应的顶点RGB(1, 1, 1)就表示白色. 使用三维表示的好处就在于直观, 以及在颜色变化过程中容易得到颜色变化的规律.

 

实现渐变色与图像叠加效果

实现渐变色与图像叠加效果

 

(图1)
在图1所表示的空间中(点表示为 (R, G, B), 0≤R≤1, 0≤G≤1,0≤B≤1). 现在假设有某颜色(比如图1中的点Q), 其值为(r, g, b). 那么从黑色到该颜色的点(在图1中就对应从点(0,0,0)到点Q(r, g, b)的线段)从视觉上是越来越浅. 设这些点的坐标为(x, y, z)(0≤x≤r, 0≤y≤≤g, 0≤z≤b), 那么在我们的RGB三维坐标空间中就有方程:

 

公式1

公式1

 

(公式1)
(注意: 这里处理的点都是三维模型所表示的立体内的点, 其中边界情况请读者自行考虑)
从该点到白色的点(在图1中就对应从点Q(r, g, b)到点(1, 1, 1)的线段)的颜色继续变浅. 设这些点的坐标为(x, y, z)(r≤x≤1, g≤y≤1, b≤z≤1), 那么这些点满足方程:

 

公式2

公式2

 

(公式2)
(注意: 同上, 这里处理的点都是三维模型所表示的立体内的点, 其中边界情况请读者自行考虑)

__________________________________________________________________________________

 

 

根据以上原理,要实现渐变色,只需要按照三维直接坐标变换过程着色即可。三维直线方程为:

 

(x-x1)/(x2-x1)=(y-y1)/(y2-y1)=(z-z1)/(z2-z1) 

其中,起始点为(x1,y1,z1),终止点为(x2,y2,z2),也就是对应于我们的起始颜色和结束颜色的RGB值。

 

取某一边为渐近过程,对应的算出另两条边的值,就可以组合出对应的某点的颜色。

 

例如,有起始颜色:(255,0,0)和结束颜色(0,255,0),按渐变过程,每个颜色画两条竖线得到的图如下:

gradient

 

启始颜色:(255,0,255)和结束颜色(0,255,255)得到的渐变图为:

gradient2

<!-- 导入 在此 参考资料--><!-- end 参考资料-->

 

  • 大小: 2.3 KB
  • 大小: 2.3 KB
分享到:
评论

相关推荐

    Delphi7渐变色探究

    这个"Delphi7渐变色探究"的主题涉及到的是如何在Delphi7中实现颜色的平滑过渡,即渐变效果。渐变色在用户界面设计中广泛使用,可以增加视觉吸引力并提供更丰富的用户体验。 首先,我们需要理解什么是渐变色。在...

    VC GDI经典算法-渐变色

    开发者可以利用这些源代码进行学习,理解渐变色的实现原理,并尝试修改参数或扩展功能,如添加更多类型的渐变、支持更多的颜色选择等。 总之,VC++ GDI中的渐变色算法提供了在Windows应用程序中创建专业图形效果的...

    Iconfont 使用及demo(单色、多色、渐变色) 案例demo

    本资源包含单色、多色以及渐变色的Iconfont案例演示,帮助开发者更好地理解和应用Iconfont。 1. **Iconfont的基本概念** Iconfont是一种将图标转化为字体的技术,它将图标转化为Unicode编码,通过CSS来控制图标的...

    自定义View之渐变色进度条

    总之,“自定义View之渐变色进度条”项目涉及到了Android自定义组件的多个关键知识点,包括View的生命周期、绘图原理、颜色渐变、触摸事件处理以及UI组件的定制。通过实践这个项目,开发者不仅可以提升Android UI...

    DELPHI 学习--------辐射渐变色

    DELPHI 学习——辐射渐变色 ...总的来说,掌握Delphi中辐射渐变色的实现,需要理解颜色处理、图形绘制原理以及Delphi的相关API。通过实践和调试,开发者可以创造出各种视觉效果,提升应用的用户体验。

    MFC实现颜色条渐变双色(蓝色变成绿色变成红色)

    RGB是一种加色模型,红、绿、蓝三种颜色的组合可以形成各种颜色。在MFC中,我们可以使用`SetPixel()`函数或者`MoveToEx()`和`LineTo()`函数结合`SetROP2()`函数来绘制颜色条。 1. **设置颜色渐变** 要创建颜色渐变...

    一种漂亮的渐变色自绘菜单

    本教程将聚焦于“一种漂亮的渐变色自绘菜单”,通过易语言实现美观的渐变效果,提升应用程序的视觉体验。 在易语言中,菜单通常是由系统默认样式显示的,但这样的样式可能无法满足所有设计需求。自绘菜单则让我们有...

    VC小程序,绘制渐变色图形

     VC小程序,绘制渐变色图形,在窗体的空白处绘制渐变色图形,通过参阅源代码你将了解到它的实现原理,并熟悉如何设置两点间的颜色,如何改变颜色域值,渐变交接处的长短等。本程序对于VC新手来说是相当有用的。

    react-GradientLab是一款采用React制作的渐变色选择器

    而"react-GradientLab"则是在React生态中的一个专为选择渐变色设计的工具,帮助开发者在项目中实现美观且易于操作的颜色过渡效果。 渐变色在现代网页设计中起着至关重要的作用,它们能够增加视觉吸引力,创建平滑...

    一个可以显示渐变色文本的程序。(5KB)...

    标题中的“一个可以显示渐变色文本的程序”指的是一个软件应用或库,它具有将文本渲染成渐变颜色的能力。这种技术在图形设计、用户界面(UI)开发或者编程艺术中常见,能够为文本增添视觉吸引力。渐变色文本指的是...

    一个以渐变色填充的范例,可以实现任何角度、颜色和效果的填充。(10KB)...

    通过研究这个压缩包中的内容,开发者不仅可以学习到如何实现渐变色填充,还能深入理解VB编程语言以及图形处理的基本原理,为自己的项目增添更多创意和动态元素。同时,这也是一种实战练习,有助于提升编程和问题解决...

    ios-Slider-双向选择渐变色滑动条.zip

    本项目“ios-Slider-双向选择渐变色滑动条.zip”提供了一个创新的滑动条实现,名为WWTwoSliderView,它具有双向选择和渐变色的特性,增加了交互的视觉效果和用户体验。 WWTwoSliderView是基于Swift编程语言编写的,...

    自绘带渐变色按钮控件

    本篇文章将围绕"自绘带渐变色按钮控件"这一主题,深入探讨如何在Delphi7中实现这一功能。 首先,我们要理解控件自绘的概念。在Windows操作系统中,大多数控件默认使用系统提供的绘图机制。而自绘则是指开发者通过...

    u3d基于高度渐变色材质

    在"u3d基于高度渐变色材质"的主题下,我们主要关注如何利用Shader(着色器)来实现根据地形高度变化而产生颜色渐变的效果。Unity3D版本5.6.2提供了丰富的工具和接口,使得开发者可以创建自定义的Shader,以满足特定...

    渐变色进度条

    本文将深入探讨渐变色进度条的实现原理、设计要素以及在不同平台上的实现方法。 首先,我们要理解渐变色的基本概念。渐变色是指颜色从一种到另一种平滑过渡的过程,它可以是线性的,也可以是径向的。在进度条中,...

    delphi 渐变色窗口背景.rar

    在Delphi编程中,创建具有渐变色背景的窗口是一个常见的需求,这可以提升应用程序的视觉效果和用户体验。...无论是手动绘制还是利用组件,理解渐变色的实现原理对于Delphi开发者来说都是有价值的技能。

    填充渐变色的VC++窗体编辑框

    摘要:VC/C++源码,界面编程,... 填充渐变色的VC++窗体编辑框源代码,漂亮的VC编辑框,截图如上所示,而且当输入字符的时候,文字还带有阴影效果,像是立体文字,一定会给你的窗体增色不少,源代码实现原理分享给大家。

    行业文档-设计装置-一种渐变色面料.zip

    本文档“行业文档-设计装置-一种渐变色面料.zip”主要聚焦于这种独特面料的设计原理和生产流程。 渐变色面料,顾名思义,是具有颜色逐渐变化效果的布料。这种效果通常是通过巧妙地控制染料分布或纱线混合比例来实现...

    《色彩原理与色彩构成》

    例如,使用高对比色突出重要信息,利用色彩心理学选择符合品牌调性的颜色,以及通过色彩的渐变和层次来增加设计的深度和立体感。 4. 文件内容推测:从压缩包的文件名来看,它们可能是该书的各个章节或主题,如“16....

    行业文档-设计装置-一种渐变色染料助剂.zip

    这份文档可能详细介绍了这种助剂的设计原理、应用方法以及其在实现渐变色染色过程中的作用。 1. **染料助剂的基本概念**:染料助剂是纺织染色过程中不可或缺的辅助化学品,它们能够改善染料对纤维的吸附、匀染性、...

Global site tag (gtag.js) - Google Analytics