using MyControls;
|
using System;
|
using System.Collections.Generic;
|
using System.Linq;
|
using System.Text;
|
using System.Threading.Tasks;
|
|
namespace MyProcesses.Alogrithms
|
{
|
public class TestTool : TAlgorithm
|
{
|
public TestTool()
|
{
|
strProcessClass = "MyProcesses.Alogrithms.TestTool";
|
strProcessName = "测试工具";
|
|
Params.Inputs.Add("输入", "我是输入");
|
Params.Outputs.Add("输出", "");
|
}
|
|
#region 阻塞运行方式
|
/// <summary>
|
/// 阻塞运行方式
|
/// </summary>
|
/// <returns></returns>
|
//public override bool Run()
|
//{
|
// try
|
// {
|
// InitRunParams();
|
|
// #region 裁剪区域
|
// object DomainImage = null;
|
// if (!ReduceDomainImage(InputImage, ref DomainImage))
|
// {
|
// Msg = "裁剪区域失败";
|
// Result = false;
|
// return false;
|
// }
|
// Record = new MsgRecord();
|
// #endregion
|
|
// #region 算子逻辑
|
// string input = Params.Inputs["输入"].ToString();
|
// Params.Outputs.Add("输出", "我是输出");
|
// #endregion
|
|
// #region 结果处理
|
// ((MsgRecord)Record).AddRecord(input, 0, 0);
|
// #endregion
|
|
// #region 生成OutputImage给后续处理
|
// try
|
// {
|
// OutputImage = DomainImage;
|
// }
|
// catch (Exception ex)
|
// {
|
// Msg = "生成OutputImage失败,原因是:" + ex.ToString();
|
// Result = false;
|
// return false;
|
// }
|
// #endregion
|
|
// return Result;
|
// }
|
// catch
|
// {
|
// OutputImage = null;
|
// Result = false;
|
// Msg = string.Format("运行出现异常");
|
// return false;
|
// }
|
// finally
|
// {
|
// if (!Result)
|
// OutputImage = null;
|
// bCompleted = true;
|
// }
|
//}
|
#endregion
|
|
/// <summary>
|
/// 非阻塞运行方式
|
/// </summary>
|
public override void TAlgorithmMain()
|
{
|
#region 初始化变量
|
|
#endregion
|
|
try
|
{
|
//if (InputImage == null)
|
//{
|
// Msg = "输入图片为空";
|
// Result = false;
|
// return;
|
//}
|
|
#region 裁剪区域
|
object DomainImage = null;
|
//if (!ReduceDomainImage(InputImage, ref DomainImage))
|
//{
|
// Msg = "裁剪区域失败";
|
// Result = false;
|
// return;
|
//}
|
#endregion
|
|
#region 算子逻辑
|
string input = Params.Inputs["输入"].ToString();
|
Params.Outputs.Add("输出", input);
|
#endregion
|
|
#region 生成OutputImage给后续处理
|
try
|
{
|
OutputImage = DomainImage;
|
}
|
catch (Exception ex)
|
{
|
Msg = "生成OutputImage失败,原因是:" + ex.ToString();
|
Result = false;
|
return;
|
}
|
#endregion
|
|
if (Msg == "运行超时")
|
{
|
Result = false;
|
return;
|
}
|
|
Msg = "运行成功";
|
Result = true;
|
return;
|
}
|
catch (Exception ex)
|
{
|
Msg = "运行失败,原因是:" + ex.ToString().TrimEnd();
|
OutputImage = null;
|
Result = false;
|
return;
|
}
|
finally
|
{
|
if (!Result)
|
{
|
Params.Outputs.Add("输出", "");
|
}
|
|
bCompleted = true;
|
#region 内存释放
|
|
#endregion
|
}
|
}
|
}
|
}
|