JMP数据表中行的RGB颜色我正在研究一个可以由jsl JMP脚本调用的C#应用程序。 JMP脚本是JMP数据表中的表脚本。 我试图弄清楚如何从JMP数据中的行中获取RGB颜色值。 基本上,如果用户在JMP中对行进行颜色编码,我的C#应用程序需要知道每行的RGB颜色值,有没有办法用JSL编程来获取JMP表中一行的RGB颜色值?
谢谢!
克里斯
Re:JMP数据表中行的RGB颜色我以为我会添加关于值为0.0-1.0的注释。这称为标准化颜色空间。通常我们会想到0到255范围内的颜色值,但这意味着8位颜色空间,其中8位用于表示红色,绿色和蓝色组件中的每一个。但并非所有颜色空间都是8位。一些颜色空间和一些图像格式实际上支持每个颜色分量超过8位,例如16。这就是归一化色彩空间有用的原因。使用多少位并不重要。您可以简单地将标准化值乘以基于颜色空间的适当值(对于8位为255或对于16位为65535)。此外,在图形或图像分析中,您经常会进行大量的数学运算。对于整数值,每个操作都会产生一些舍入误差。使用标准化颜色空间不会产生错误。希望这有助于解释为什么您可能希望在规范化颜色空间中工作以及为什么JMP将值返回为0.0-1.0。
Re:JMP数据表中行的RGB颜色我确认Jeff解决方案有效!!
Names Default To Here( 1 );
dt=current datatable();
dt<< Color By Column( :COL);
it=Color To RGB( Color Of( Row State( 1 ) ) );
show(it);
它= {0.164705882352941,0.247058823529412,1};
您只需要将多个3个数字乘以255即可获得RGB颜色值。
这个论坛摇滚!感谢您的快速回复!
Re:JMP数据表中行的RGB颜色这是我跑的:
Names Default To Here( 1 );
dt=current datatable(); \
dt<< Color By Column( :COL);
it=Color To RGB( Color Of( Row State( 3 ) ) );
show(it);
它= {0.988235294117647,0.0431372549019608,0.0431372549019608};
我期待3个整数,所以我将这些乘以255并围绕每个数字?
Re:JMP数据表中行的RGB颜色颜色和其他信息存储在行国 。看看颜色() 功能。
以下是脚本编制索引中的一个示例:
Names Default To Here( 1 );
Open( "$SAMPLE_DATA/Big Class.jmp" ) << Color By Column( :height );
Color To RGB( Color Of( Row State( 3 ) ) );
Re:JMP数据表中行的RGB颜色https://community.jmp.com/t5/JMP-Scripts/RGB-Color-Matching-Script/ta-p/21784/jump-to/first-unread-message
您可以使用此帖子中的脚本将颜色值转换为颜色。希望这可以帮助 。
Re:JMP数据表中行的RGB颜色 @ChrisM ,
RowStates = dt << Get Row States() ;
ColorList = list() ;
for( i = 1 , i <= N Items(RowStates), i ++,
Insert Into(ColorList ,Color Of(RowStates[i]);
)