​ 这篇文章中就要给我的四视图增加文字显示了,这个东西就是在我摄像机上面的,不会随着图像变化而变化,感觉这个是不是就是在3D中的那种HUD呢。

电梯

  • 1 效果展示
  • 2 vtkTextActor
  • 3 实现代码
    • 3.1 头文件
    • 3.2 源文件实现
      • 3.2.1 新建变量,赋值,设置属性
      • 3.2.2 加入到渲染器中
  • ☞ 源码

1 效果展示

​ 如下图所示,在每个图的左上角和左下角有文字显示,左上角显示的病人的基本信息,左下角显示的是当前切面。

2 vtkTextActor

​ 实现文字显示,主要将用到vtkTextActor,这里还是把参考链接附上

https://vtk.org/doc/nightly/html/classvtkTextActor.html

回家截图

3 实现代码

3.1 头文件

​ 既然用到了vtkTextActor那就就要包含他的头文件了,后面需要设置颜色啥的,所以需要我们顺便把属性头文件也包含了。如下

#include "vtkTextActor.h"
#include "vtkTextProperty.h"

​ 新建变量

vtkSmartPointer<vtkTextActor> textActor[4];
vtkSmartPointer<vtkTextActor> peopleInforTextActor[4];

3.2 源文件实现

3.2.1 新建变量,赋值,设置属性

for (auto i=0;i<4;i++)
{textActor[i] = vtkSmartPointer<vtkTextActor>::New();textActor[i]->SetDisplayPosition(5, 5);textActor[i]->GetTextProperty()->SetFontSize(14);textActor[i]->GetTextProperty()->SetFontFamily(VTK_FONT_FILE);textActor[i]->GetTextProperty()->SetFontFile(QString("./Fonts/simhei.ttf").toUtf8());
}
textActor[0]->SetInput(QString::fromUtf8("矢状").toUtf8());
textActor[0]->GetTextProperty()->SetColor(0, 1, 0);
textActor[1]->SetInput(QString::fromUtf8("冠状").toUtf8());
textActor[1]->GetTextProperty()->SetColor(0, 0, 1);
textActor[2]->SetInput(QString::fromUtf8("轴向").toUtf8());
textActor[2]->GetTextProperty()->SetColor(1, 0, 0);
textActor[3]->SetInput(QString::fromUtf8("3D").toUtf8());
textActor[3]->GetTextProperty()->SetColor(1, 1, 0);
for (auto i=0;i<4;i++)
{peopleInforTextActor[i] = vtkSmartPointer<vtkTextActor>::New();peopleInforTextActor[i]->GetTextProperty()->SetFontSize(14);peopleInforTextActor[i]->GetTextProperty()->SetFontFamily(VTK_FONT_FILE);peopleInforTextActor[i]->GetTextProperty()->SetFontFile(QString("./Fonts/simhei.ttf").toUtf8());peopleInforTextActor[i]->SetInput(reader->GetPatientName());
}
peopleInforTextActor[0]->GetTextProperty()->SetColor(0, 1, 0);
peopleInforTextActor[0]->SetDisplayPosition(5,ui->widget_1->height()-20);
peopleInforTextActor[1]->GetTextProperty()->SetColor(0, 0, 1);
peopleInforTextActor[1]->SetDisplayPosition(5,ui->widget_2->height()-20);
peopleInforTextActor[2]->GetTextProperty()->SetColor(1, 0, 0);
peopleInforTextActor[2]->SetDisplayPosition(5,ui->widget_3->height()-20);
peopleInforTextActor[3]->GetTextProperty()->SetColor(1, 1, 0);
peopleInforTextActor[3]->SetDisplayPosition(5,ui->widget_4->height()-20);

3.2.2 加入到渲染器中

​ 我这里有两种,如下:

riw[i]->GetRenderer()->AddActor(textActor[i]);
riw[i]->GetRenderer()->AddActor(peopleInforTextActor[i]);
ren->AddActor(textActor[3]);
ren->AddActor(peopleInforTextActor[3]);

​ 详细内容见源码

☞ 源码

源码链接:https://github.com/DreamLife-Jianwei/Qt-Vtk

使用方法:☟☟☟


医学四视图-004-四视图增加文字显示相关推荐

  1. mysql实验四数据库查询和视图_数据库-第四次实验报告-视图-t-sql语句

    实验十报告 创建视图 实验目的 1.掌握创建视图的SQL语句的用法. 2.掌握使用企业管管理器创建视图的方法. 3.掌握使用创建视图向导创建视图的方法. 4.掌握查看视图的系统存储过程的用法. 5.掌 ...

  2. MVG学习笔记(5) --四视图几何和n视图重建

    四视图几何和n视图重建   可以使用基于张量的方法再进行一步,并定义四个视图中可见的四焦点张量相关实体. 然而这种方法很少使用,因为计算符合其内部约束的四焦点张量的相对困难.   然而,它确实提供了基 ...

  3. mysql实验四数据库查询和视图_实验四 数据库查询和视图.doc

    实验四 数据库查询和视图 测试过程:(实验中出现的问题.错误.解决方法) 问题一:新建查询,调试过程中出现提示无效行或列 问题二:新建查询,调试过程中出现第几行出现错误 解决办法:检查新建的查询,标点 ...

  4. Mysql第四天笔记04——视图和索引

    目录 1.为什么要使用视图 2.视图分类 3.创建视图 4.修改视图 5.视图上执行DML操作 6.索引 1.为什么要使用视图 限制其它用户对数据库表的访问,因为视图可以有选择性的显示数据库表的一部分 ...

  5. 建立视图实发工资mysql_MYSQL人事工资管理系统--设计视图(四)

    什么是视图? 视图(view)是一种虚拟存在的表,对于使用视图的用户来说基本上是透明的.视图并不在数据库中实际存在,行和列数据来自定义视图的查询中使用的表,并且是在使用视图时动态生成的. 视图相对普通 ...

  6. 数据库 实验四 创建视图,使用视图,修改视图

    1.创建视图 --***① 将Student Course 和sc表中学生的学号,姓名,课程号,课程名,成绩定义为视图V_S_C_G *** CREATE VIEW V_S_C_G ASSELECT ...

  7. 《Spring In Action(第4版)》阅读总结(四)渲染Web视图

    渲染Web视图 将模型数据渲染为HTML 使用JSP视图 通过tiles定义视图布局 使用Thymealeaf视图 理解视图渲染 控制器只负责处理请求并返回模型数据和视图名 将控制器中请求处理逻辑与视 ...

  8. SQL语法精讲(包括建库、建表、建视图、查询、增加、删除、修改)

    SQL语法精讲(包括建库.建表.建视图.查询.增加.删除.修改) SQL分类: DDL-数据定义语言(CREATE,ALTER,DROP,DECLARE) DML-数据操纵语言(SELECT,DELE ...

  9. mysql创建多表视图sql语句_SQL语法(包括建库、建表、建视图、查询、增加、删除、修改)...

    SQL语法(包括建库.建表.建视图.查询.增加.删除.修改) SQL分类: DDL-数据定义语言(CREATE,ALTER,DROP,DECLARE) DML-数据操纵语言(SELECT,DELETE ...

最新文章

  1. fodera开机启动优化
  2. 例子简单说说C# ref和out
  3. python中的set方法_Python中set与frozenset方法和区别详解
  4. Windows版nacos启动报错(nacos安装路径问题)
  5. 解压android img文件怎么打开,解压压缩android img文件
  6. springboot 实现接口灰度发布
  7. rocketmq存储结构_rocketMq高性能存储设计
  8. 英特尔第四代酷睿处理器数字和字母代表什么意思
  9. 艾宾浩斯遗忘曲线.pdf百日计划表.pdf考研时间计划表.pdf每日打卡.pdf每日复习计划表.pdf详细日计划.pdf月计划表.pdf周计划.pdf
  10. 微信收藏保存服务器,微信的收藏和保存功能有啥区别?
  11. java中poi搜索工程_POI搜索简介
  12. 如何开启Windows远程桌面服务
  13. 盖亚绘制的星图里,藏着银河系不为人知的混乱过去
  14. jQuery的addClass、siblings、removeClass、each、html、eq、show/hide用法
  15. Tensorflow2数据集过大,GPU内存不够
  16. 雾计算中的数据安全问题综述
  17. win7系统调用tts的语音朗读功能
  18. MATLAB超宽带通信技术,基于ADS和Matlab的超宽带低噪声放大器的频带选择性设计
  19. CVE-2021-41773漏洞复现
  20. Log4J使用详解(整理)

热门文章

  1. python之类成员和实例成员
  2. 云开发AI视频换脸微信小程序源码+AI工具箱
  3. 【MATLAB】【公式验证】泰勒级数
  4. JDictSelectTag 字典标签用法
  5. 解决Zotero导入参考文献作者名字字母全部大写问题
  6. Oracle删除profil,紧急求助:误删除一个重要的profile
  7. os.listdir在linux和windows下结果不同(os.listdir乱序)
  8. Python:遍历目录 walk、listdir
  9. 在Vue中Bigemap离线地图的基本使用
  10. 有意思的Windows脚本(1)