为什么在LabVIEW中我放置在前面板上3D图形控件的色彩显示和我在属性节点中设置的颜色值不匹配?



硬件: Motion Control

问题: 在LabVIEW中我运用属性节点对3D图像控件中显示的曲线颜色进行编辑,当我运用颜色盒常量对属性节点中的填充色和曲线颜色进行编辑时,显示的色彩和我设定赋入的色彩常量是不匹配的,这是为什么而造成的呢?

解答: 在LabVIEW中3D图像控件中的曲线显示实际上是通过Measurement Studio里的Activex控件来实现的。因为她不是单纯的针对LabVIEW的编程环境所以它并不能直接来迭代LabVIEW中所有特定的数据类型。3D图像控件使用的是Visual Basic的特定数据类型映射的色彩来给曲线的色彩进行编辑的。和在LabVIEW中非常相似,这个数据类型是个无符号的32位整形数据,但是其具体数位的表示却和LabVIEW中的有不同。如果我们运用十六进制数来表示,可以通过以下图较为直观地看出Visual Basic的色彩表示法和LabVIEW中的色彩表示法的不同 :

 Data Type   Hex Notation 
VB Color  0x00BBGGRR 
LV Color Box  0x00RRGGBB 

I在以上的图表中,“BB”表示的是八位描述色彩三原色中蓝色的数据位,与之相仿的“GG”是八位描述绿色的数位而“RR”是八位描述红色的数位。按照三原色表示法(RGB)计算机就获得了色彩的具体描述信息。值得注意的是,按照以上图表,在Visual Basic中和LabVIEW中描述色彩的三原色信息的顺序是不同的。因此如果您是使用LabVIEW的颜色盒常量来对属性节点中相关色彩进行编辑时,您必须针对数位的描述顺序进行转换。在LabVIEW中已经内置了一个VI来接受颜色盒常量的输入,并且输出一个正确地色彩表示信息。这个VI的名字是OLE Color.vi可以通过在程序框图中点击鼠标右键按照路径: Functions Palette»Graphics & Sound»3D Graph Properties»Convert OLE Color.vi来调用。

注: 这个VI不能适用在在LabVIEW基础工具包之前的版本中。

相关链接: Product Manuals: LabVIEW 8.6 Help

附件:


colorconvert.zip - colorconvert.zip



报告日期: 07/01/2005
最近更新: 10/30/2010
文档编号: 3N0AJRS9