private void InitBlacklevel() { BlacklevelControlPoints.Clear(); Enumerable.Range(0, 7).ToList().ForEach(p => BlacklevelControlPoints.Add(new ControlPoint())); BlacklevelControlPoints[0].X = BlacklevelControlPoints[3].X = _resolution.Width - _overlap; BlacklevelControlPoints[1].X = BlacklevelControlPoints[2].X = _resolution.Width; BlacklevelControlPoints[2].Y = BlacklevelControlPoints[3].Y = _resolution.Height; var dy = _resolution.Height / 4; for (var i = 0; i < 3; i++) { BlacklevelControlPoints[4 + i].X = BlacklevelControlPoints[0].X; BlacklevelControlPoints[4 + i].Y = _resolution.Height - (i + 1) * dy; } BlacklevelControlPoints[0].ControlPointType = ControlPointType.IsEcke; BlacklevelControlPoints[1].ControlPointType = ControlPointType.IsEcke; BlacklevelControlPoints[2].ControlPointType = ControlPointType.IsEcke; BlacklevelControlPoints[3].ControlPointType = ControlPointType.IsEcke; foreach (var cp in BlacklevelControlPoints) { cp.U = cp.X; cp.V = cp.Y; cp.AllowAllDirections(); } if (_index == 1) { foreach (var cp in BlacklevelControlPoints) { cp.X = cp.U = Resolution.Width - cp.X; } } BlacklevelIndexes = Enumerable.Range(0, BlacklevelControlPoints.Count).ToArray(); }
public ProjectorData GetProjectorData() { return(new ProjectorData { BlendData = new BlendSettings { MaxBlend = MaxBlend, BlacklevelOffset = BlacklevelOffset, Blacklevel2Offset = Blacklevel2Offset, CurvePoints = BlendCurve.GetCurvePoints() }, ControlPoints = ControlPoints.ToArray(), BlendRegionControlPoints = BlendRegionControlPoints.ToArray(), BlacklevelControlPoints = BlacklevelControlPoints.ToArray(), Blacklevel2ControlPoints = Blacklevel2ControlPoints.ToArray() }); }