| | |
| | | public Template Template { get; private set; } |
| | | |
| | | private List<Colour> Colours = new List<Colour>(); |
| | | |
| | | |
| | | private Colour CurrenColour |
| | | { |
| | | get { |
| | |
| | | |
| | | private void GenerateFloorsButton_Click(object sender, EventArgs e) |
| | | { |
| | | if (CurrenColour==null) |
| | | if (CurrenColour == null) |
| | | { |
| | | simpleButton9_Click(1,new EventArgs()); |
| | | simpleButton9_Click(1, new EventArgs()); |
| | | } |
| | | // 隐藏错误标签 |
| | | ErrorLabel.Visible = false; |
| | | |
| | | |
| | | |
| | | |
| | | float minFloorIndex; |
| | | float maxFloorIndex; |
| | |
| | | ErrorLabel.Visible = true; |
| | | return; |
| | | } |
| | | if (!int.TryParse(tb_ColourNum.Text,out ColourNum)) |
| | | if (!int.TryParse(tb_ColourNum.Text, out ColourNum)) |
| | | { |
| | | ErrorLabel.Text = "级数必须是数字"; |
| | | ErrorLabel.Visible = true; |
| | |
| | | //} |
| | | |
| | | |
| | | CurrenColour.color0= color0; |
| | | CurrenColour.color0 = color0; |
| | | CurrenColour.color1 = color1; |
| | | CurrenColour.maxNum = maxFloorIndex; |
| | | CurrenColour.minNum = minFloorIndex; |
| | |
| | | //string tempID = BackgroundImgTextBox_q.Text; |
| | | |
| | | // 逐层生成楼层 |
| | | for (int i = 0; i < ColourNum; i++) |
| | | { |
| | | DRange currentRange =new DRange(minFloorIndex + i * (maxFloorIndex- minFloorIndex)/ColourNum, minFloorIndex + (i+1) * (maxFloorIndex - minFloorIndex) / ColourNum); |
| | | Color c; |
| | | //获取color0和color1,Colour个等分颜色,第一个为color0,最后一个为color1,中间的为等分颜色 |
| | | if (i == 0) |
| | | { |
| | | c = color0; |
| | | } |
| | | else if (i == ColourNum-1) |
| | | { |
| | | c = color1; |
| | | } |
| | | else |
| | | { |
| | | c = Color.FromArgb(color0.R + (color1.R - color0.R) / (ColourNum - 1) * i, color0.G + (color1.G - color0.G) / (ColourNum - 1) * i, color0.B + (color1.B - color0.B) / (ColourNum-1) * i); |
| | | |
| | | } |
| | | |
| | | |
| | | ColourItem newFloor = new ColourItem(currentRange,c); |
| | | floors.Add(newFloor); |
| | | } |
| | | |
| | | var items=Colour.GetColourItems(minFloorIndex, maxFloorIndex, ColourNum, color0, color1); |
| | | floors.AddRange(items); |
| | | // 更新楼层列表 |
| | | UpdateColourItemList(); |
| | | } |
| | | |
| | | |
| | | |
| | | private void SelectImageButton_Click_q(object sender, EventArgs e) |
| | | { |
| | |
| | | if (CurrenColour == null) return; |
| | | double max = 0; |
| | | double min = 0; |
| | | |
| | | switch(CurrenColour.Type) |
| | | { |
| | | case ColourType.节点自由压力: |
| | | max=this.Template.network.Nodes.Where(node=>!(node is ReservoirViewModel || node is TankViewModel)).Max(node => node.EN_PRESSURE); |
| | | min=this.Template.network.Nodes.Where(node => !(node is ReservoirViewModel || node is TankViewModel)).Min(node => node.EN_PRESSURE); |
| | | break; |
| | | case ColourType.节点绝对压力: |
| | | max = this.Template.network.Nodes.Where(node => !(node is ReservoirViewModel || node is TankViewModel)).Max(node => node.EN_PRESSURE); |
| | | min = this.Template.network.Nodes.Where(node => !(node is ReservoirViewModel || node is TankViewModel)).Min(node => node.EN_PRESSURE); |
| | | break; |
| | | case ColourType.节点需水量: |
| | | max = this.Template.network.Nodes.Where(node => !(node is ReservoirViewModel || node is TankViewModel)).Max(node => node.EN_DEMAND); |
| | | min = this.Template.network.Nodes.Where(node => !(node is ReservoirViewModel || node is TankViewModel)).Min(node => node.EN_DEMAND); |
| | | break; |
| | | case ColourType.管线流量: |
| | | max = this.Template.network.Links.Max(link => link.EN_FLOW); |
| | | min = this.Template.network.Links.Min(link => link.EN_FLOW); |
| | | break; |
| | | case ColourType.管线流速: |
| | | max = this.Template.network.Links.Max(link => link.EN_VELOCITY); |
| | | min = this.Template.network.Links.Min(link => link.EN_VELOCITY); |
| | | break; |
| | | default: |
| | | break; |
| | | |
| | | } |
| | | tb_minFloorIndex.Text = min.ToString(); |
| | | tb_maxFloorIndex.Text = max.ToString(); |
| | | var doubles=this.Template.network.getMinMax(CurrenColour.Type); |
| | | |
| | | tb_minFloorIndex.Text = doubles[0].ToString(); |
| | | tb_maxFloorIndex.Text = doubles[1].ToString(); |
| | | } |
| | | |
| | | private void btn_useColour_Click(object sender, EventArgs e) |