Labfans是一个针对大学生、工程师和科研工作者的技术社区。 论坛首页 | 联系我们(Contact Us)
MATLAB爱好者论坛-LabFans.com
返回   MATLAB爱好者论坛-LabFans.com > 其它 > 资料存档
资料存档 资料存档
回复
 
主题工具 显示模式
旧 2019-12-10, 20:48   #1
poster
高级会员
 
注册日期: 2019-11-21
帖子: 3,006
声望力: 66
poster 正向着好的方向发展
帖子 如何在Matlab中创建较浅的颜色?

我有一个基本颜色,由基本的[RGB]矩阵呈现。

我想根据我的常数(基本上是一个角度(0-90掳))创建该颜色的较浅或较深版本。

我正在寻找一种算法,该算法如何基于该角度创建较浅或较深的颜色。

颜色较浅的端点为白色,颜色较深的端点为黑色。

愚蠢的例子:

Green -> Lime -> White Blue -> Navy -> Black function [result] = GetColor(baseColor, angleValue) value = round(angleValue); endcolor = [1 1 1]; r = linspace(basecolor(1,1), endcolor(1,1), 90); g = linspace(basecolor(1,2), endcolor(1,2), 90); b = linspace(basecolor(1,3), endcolor(1,3), 90); result = [r(value) g(value) b(value)]; end

回答:

您想要最浅/最暗的颜色是什么?定义端点[r1 g1 b1] , [r2 g2 b2] ,它们分别对应于0和90。然后使用:

colormap = [linspace(r1, r2, 91)' linspace(g1, g2, 91)' linspace(b1, b2, 91)'] 定义一组91种颜色,并选择与角度对应的颜色。



更多&回答...
poster 当前离线   回复时引用此帖
回复


发帖规则
不可以发表新主题
不可以发表回复
不可以上传附件
不可以编辑自己的帖子

启用 BB 代码
论坛禁用 表情符号
论坛启用 [IMG] 代码
论坛启用 HTML 代码



所有时间均为北京时间。现在的时间是 06:44


Powered by vBulletin
版权所有 ©2000 - 2025,Jelsoft Enterprises Ltd.