using PaintDotNet.Data.Param;
using System;
using System.Collections.Generic;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace PaintDotNet.Data.Action
{
///
/// 通用分析 专用分析父类
///
public class ActionAnalysis: ParamObject
{
public ActionAnalysis() {
this.OpenImage = "current";
//默认1个颜色区间
BooleanObject colorInterval = new BooleanObject();
colorInterval.key = "colorInterval";
colorInterval.name = PdnResources.GetString("Menu.inverse.text");
colorInterval.initialValue = false;
colorInterval.value = false;
lists.Add(colorInterval);
//第一个参数
List oneL = new List();
oneL.Add(0);
oneL.Add(0);
DecimalScope one = new DecimalScope(0, 255);
one.key = "scope1";
one.name = PdnResources.GetString("Menu.Colorinterval.text");
one.value = oneL;
lists.Add(one);
List threeL = new List();
threeL.Add(0);
threeL.Add(0);
DecimalScope three = new DecimalScope(0, 255);
three.key = "scope3";
three.name = "反选" + PdnResources.GetString("Menu.Colorinterval.text");
three.value = threeL;
lists.Add(three);
List twoL = new List();
twoL.Add(0);
twoL.Add(0);
DecimalScope two = new DecimalScope(0, 255);
two.key = "scope2";
two.name = "反选" + PdnResources.GetString("Menu.Colorinterval.text");
two.value = twoL;
lists.Add(two);
BooleanObject autoThreshold = new BooleanObject();
autoThreshold.key = "autoThreshold";
autoThreshold.name = PdnResources.GetString("Menu.Automaticthreshold.text");
autoThreshold.initialValue = false;
autoThreshold.value = false;
lists.Add(autoThreshold);
//重要说明:binaryMat和Original两个参数顺序不能颠倒
BooleanObject Original = new BooleanObject();
Original.key = "binarization";
Original.name = PdnResources.GetString("Menu.Binarization.text");
Original.initialValue = false;
Original.value = false;
lists.Add(Original);
BooleanObject binaryMat = new BooleanObject();
binaryMat.key = "theoriginalcolor";
binaryMat.name = PdnResources.GetString("Menu.Theoriginalcolor.text");
binaryMat.initialValue = false;
binaryMat.value = false;
lists.Add(binaryMat);
//二值样式
ChoiseArray binaryType = new ChoiseArray("binaryStyle", PdnResources.GetString("Menu.Binarystyle.text"),
new BooleanObject[]
{
new BooleanObject("1", PdnResources.GetString("Menu.solid.text"), true, null),//fill
new BooleanObject("2", PdnResources.GetString("Menu.Sideline.text"), false, null)//solid
}
);
binaryType.initialValue = 1;
binaryType.value = 1;
lists.Add(binaryType);
ColorNumber phaseColor = new ColorNumber();
phaseColor.key = "phaseColor";
phaseColor.name = PdnResources.GetString("Menu.Phasecolor.text");
phaseColor.Value = Color.Red.ToArgb();
lists.Add(phaseColor);
IntegerNumber seven = new IntegerNumber(0, 10);
seven.key = "CalculatorDecimalDigits";
seven.name = "小数点位数";
seven.initialValue = 2;
seven.value = 2;
lists.Add(seven);
lists.Add(new BooleanObject("OpenWhileExportReport", "生成报告时打开设置", true, null));
lists.Add(new BooleanObject("ExportResults", "导出结果", true, null));
lists.Add(new BooleanObject("ExportReports", "生成报告", true, null));
lists.Add(new BooleanObject("ExportProjects", "导出项目", true, null));
}
}
}