【VM服务管家】VM4.0平台SDK_2.4 结果获取类

本文介绍了VM4.0 SDK中关于数据结果的获取,包括流程输出和模块输出的数据结果,如整型、浮点型、字符串型和图像数据。详细阐述了流程运行结束、模块运行结束、加密狗状态、方案加载结束以及各种回调方法的使用,旨在帮助开发者更好地理解和应用VM4.0平台。

2.4.1 数据结果:通过流程输出或模块输出获取数据结果的方法

描述
环境:VM4.0.0 + VS2015及以上
现象:方案或流程运行执行之后,就可以获取结果(建议将结果获取写在回调函数里),可以通过获取渲染结果和数据结果,渲染结果通过绑定渲染控件进行显示,数据结果分为整型、浮点型、字符串型和图像型等等,VM二次开发如何获取数据结果?
解答
数据结果的获取可以通过流程的输出或者模块的输出,推荐使用通过流程的输出,符合高内聚低耦合的思想,详细介绍如下所示:
1 通过流程的输出获取数据结果
1.1 流程配置-输出设置
在这里插入图片描述

1.2 获取整型、浮点型、字符串型数据

C#
VmProcedure vmprocess = (VmProcedure)VmSolution.Instance["流程1"];
string str = vmprocess.GetIntOutputResult("out").pIntValue[0].ToString();                
string str1 = vmprocess.GetFloatOutputResult("out0").pFloatValue[0].ToString();
string str2 = vmprocess.GetStringOutputResult("out1").astStringValue[0].strValue;

C#
// 流程拿结果,c从界面层获取的方法,适用于高内存场景
string str2 = ((ImvsSdkDefine.IMVS_MODULE_STRING_VALUE_EX)(vmProcess["out1.Value"] as Array).GetValue(0)).strValue.ToString();//字符串型结果
string str1 = ((vmProcess["out0.Value"] as Array).GetValue(0)).ToString();//浮点型结果

1.3 获取图像数据
流程输出设置中输出IMAGE类型的图像数据,不能通过前面参数名称image拿取,需要通过Imageout0,ImageWidthout0,ImageHeightout0,ImagePixelFormatout0,这四个参数进行获取。示例代码和图像如下:
在这里插入图片描述

C#
VmProcedure VmProcess = (VmProcedure)VmSolution.Instance["流程1"];//实例化流程1
ImageResultInfo resultInfo0 =VmProcess.GetImageOutputResult("Imageout0");
IntResultInfo resultInfo1 =VmProcess.GetIntOutputResult("ImageWidthout0");
IntResultInfo resultInfo2 =VmProcess.GetIntOutputResult("ImageHeightout0");
IntResultInfo resultInfo3 =VmProcess.GetIntOutputResult("ImagePixelFormatout0");
byte[] imageData=resultInfo0.pstImageValue[0].pData;

2 通过模块的输出获取数据结果
2.1 获取模块的浮点型数据

C#
IMVSCircleFindModuCs.IMVSCircleFindModuTool circleTool=(IMVSCircleFindModuCs.IMVSCircleFindModuTool)VmSolution.Instance["流程1.圆查找1"];
//只调用一次circleTool.ModuResult表示只从底层拿一次结果,适用于高内存场景
var circleToolResult = circleTool.ModuResult;
string circleX = circleToolResult.OutputCircle.CenterPoint.X.ToString();
string circle
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值