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 阻塞运行方式
///
/// 阻塞运行方式
///
///
//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
///
/// 非阻塞运行方式
///
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
}
}
}
}