/// <summary> /// 修改模板变量 /// </summary> /// <param name="videoPanelCount"></param> public void definedSchemaParameter(int videoPanelCount) { SchemasEnums tempSchema = SchemasEnums.WD1; if (videoPanelCount == 1) { _xAmount = 1; //x轴数量 _yAmount = 1; //y轴数量 _xInterval = 0; //横向间隔 _yInterval = 0; //纵向间隔 } if (videoPanelCount > 1 && videoPanelCount <= 4) { _xAmount = 2; //x轴数量 _yAmount = 2; //y轴数量 _xInterval = 4; //横向间隔 _yInterval = 4; //纵向间隔 tempSchema = SchemasEnums.WD4; } if (videoPanelCount > 4 && videoPanelCount <= 6) { _xAmount = 3; //x轴数量 _yAmount = 2; //y轴数量 _xInterval = 6; //横向间隔 _yInterval = 4; //纵向间隔 tempSchema = SchemasEnums.WD6; } if (videoPanelCount > 6 && videoPanelCount <= 9) { _xAmount = 3; //x轴数量 _yAmount = 3; //y轴数量 _xInterval = 6; //横向间隔 _yInterval = 6; //纵向间隔 tempSchema = SchemasEnums.WD9; } if (videoPanelCount > 9 && videoPanelCount <= 12) { _xAmount = 4; //x轴数量 _yAmount = 3; //y轴数量 _xInterval = 8; //横向间隔 _yInterval = 6; //纵向间隔 tempSchema = SchemasEnums.WD12; } if (videoPanelCount > 12 && videoPanelCount <= 16) { _xAmount = 4; //x轴数量 _yAmount = 4; //y轴数量 _xInterval = 8; //横向间隔 _yInterval = 8; //纵向间隔 tempSchema = SchemasEnums.WD16; } if (videoPanelCount > 16 && videoPanelCount <= 20) { _xAmount = 5; //x轴数量 _yAmount = 4; //y轴数量 _xInterval = 10; //横向间隔 _yInterval = 8; //纵向间隔 tempSchema = SchemasEnums.WD20; } if (videoPanelCount > 20 && videoPanelCount <= 25) { _xAmount = 5; //x轴数量 _yAmount = 5; //y轴数量 _xInterval = 10; //横向间隔 _yInterval = 10; //纵向间隔 tempSchema = SchemasEnums.WD25; } if (videoPanelCount > 25 && videoPanelCount <= 30) { _xAmount = 6; //x轴数量 _yAmount = 5; //y轴数量 _xInterval = 12; //横向间隔 _yInterval = 10; //纵向间隔 tempSchema = SchemasEnums.WD30; } if (tempSchema != _currentSchama) { _currentSchama = tempSchema; } }
/// <summary> /// 初始化位置 /// </summary> /// <param name="videoPanelIndex"></param> /// <param name="videopaneldisplay"></param> public void initLocation(int videoPanelIndex, bool videopaneldisplay, int videopanelwidth, int videopanelHeight) { if (videopaneldisplay) { videopanelwidth = videopanelwidth - 180; } SchemasEnums tempSchema = LayoutUtils.INSTANCE().getSchemasEnums(); LayoutUtils layoutUtils = LayoutUtils.INSTANCE(); var newWidth = (videopanelwidth - _xInterval) / _xAmount; var newHeight = (videopanelHeight - _yInterval) / _yAmount; if (tempSchema == SchemasEnums.WD1) { _initLocationX = 0; _initLocationY = 0; return; } var schemaValueY = 0; //列数 if (tempSchema == SchemasEnums.WD4) { schemaValueY = 2; } if (tempSchema == SchemasEnums.WD6) { schemaValueY = 3; } if (tempSchema == SchemasEnums.WD9) { schemaValueY = 3; } if (tempSchema == SchemasEnums.WD12) { schemaValueY = 4; } if (tempSchema == SchemasEnums.WD16) { schemaValueY = 4; } if (tempSchema == SchemasEnums.WD20) { schemaValueY = 5; } if (tempSchema == SchemasEnums.WD25) { schemaValueY = 5; } if (tempSchema == SchemasEnums.WD30) { schemaValueY = 6; } //第几个 var a = videoPanelIndex / schemaValueY; //取模 var b = videoPanelIndex % schemaValueY; //取余 if (a < 1 && b == 1) //第一个 { _initLocationX = 0; _initLocationY = 0; return; } if (b == 0) //整排 整列 { _initLocationX = ((schemaValueY - 1) * newWidth) + (schemaValueY * _interval - _interval); _initLocationY = ((a - 1) * newHeight) + ((a - 1) * _interval); return; } if (b > 0) //非整排 非整列 且不为第一个 { _initLocationX = (b - 1) * newWidth + b * _interval - _interval; _initLocationY = a * newHeight + a * _interval; } }