VTK知识学习(6)-使用颜色

1、概述

颜色是Actor重要的属性之一。VTK采用RGB和HSV两种颜色系统来描述颜色。

RGB颜色系统是由三个颜色分量:

R(红色)、G(绿色)、B(蓝色)的组合表示。取值范围0~1。(0,0,0)表示黑色,(1,1,1)表示白色。

vtkProperty::SetColor(r,g,b)采用的就是 RGB颜色系统设置颜色属性值。

HSV颜色系统是由三个分量来决定颜色,分别是:

色相(Hue),表示颜色的基本属性,通常据说的颜色名称,如红色、黄色等;

饱和度(Saturation),是指颜色的纯度,其值越高则越纯;

值(Value,也就是上强度Intensity或者亮度Bright),值为0通常表示的是黑色,值为1表示的最亮的颜色。

取值范围0~1。类vtkLoopupTable提供了HSV颜色系统设置的方法。

2、代码

cs 复制代码
vtkCylinderSource cylinderSource = vtkCylinderSource.New();
            cylinderSource.SetHeight(3.0);
            cylinderSource.SetRadius(1.0);
            cylinderSource.SetResolution(100);

            vtkPolyDataMapper polyDataMapper = vtkPolyDataMapper.New();
            polyDataMapper.SetInputConnection(cylinderSource.GetOutputPort());

            vtkActor actor = vtkActor.New();
            actor.SetMapper(polyDataMapper);

            vtkRenderer renderer = vtkRenderer.New();
            renderer.AddActor(actor);
            renderer.SetBackground(0.3, 0.6, 0.7);

            vtkLight myLigth = vtkLight.New();
            myLigth.SetColor(0, 1, 1);
            myLigth.SetPosition(0, 0, 1);
            double[] infos = renderer.GetActiveCamera().GetFocalPoint();
            myLigth.SetFocalPoint(infos[0], infos[1], infos[2]);
            renderer.AddLight(myLigth);

            vtkRenderWindow renWin = renderWindowControl.RenderWindow;
            renWin.AddRenderer(renderer);
            renWin.Render();

3、效果

相关推荐
hssfscv17 小时前
Javaweb学习笔记——Maven
笔记·学习·maven
d111111111d17 小时前
STM32-HAL库学习,初识HAL库
笔记·stm32·单片机·嵌入式硬件·学习
AAA阿giao17 小时前
从树到楼梯:数据结构与算法的奇妙旅程
前端·javascript·数据结构·学习·算法·力扣·
头疼的程序员17 小时前
计算机网络:自顶向下方法(第七版)第一章 学习分享
网络·学习·计算机网络
先生沉默先17 小时前
c#Socket学习,使用Socket创建一个在线聊天,数据模型(2)
服务器·学习·c#
有谁看见我的剑了?17 小时前
ESXI 虚机机硬盘类型和硬盘模式学习
运维·学习·云计算
likeshop 好像科技17 小时前
AI知识库架构深度解析:智能体记忆与学习的智慧核心
人工智能·学习·架构
BoBoZz1917 小时前
CapClip 模型的裁剪(平面裁剪与曲线裁剪)
python·vtk·图形渲染·图形处理
代码游侠17 小时前
学习笔记——网络基础
linux·c语言·网络·笔记·学习·算法
旖旎夜光1 天前
C++(17)
c++·学习