20230724_MBJC_upperpc/Common/BottomCenterYConverter.cs

61 lines
3.6 KiB
C#
Raw Normal View History

2023-12-20 09:58:16 +00:00
using System;
using System.Collections.Generic;
using System.Globalization;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Data;
using System.Windows;
using System.Windows.Media;
namespace _20230724_MBJC_upperpc.Common
{
public class BottomCenterYConverter : IMultiValueConverter
{
public object Convert(object[] values, Type targetType, object parameter, CultureInfo culture)
{
Point StartPoint = new Point(); ;
Point FirstCorner = new Point(); ;
Point SecondCorner = new Point(); ;
Point EndPoint = new Point(); ;
if (int.Parse(parameter.ToString()) == 1 || int.Parse(parameter.ToString()) == 2)
{
2024-01-17 01:24:32 +00:00
StartPoint = new Point((double)values[0] + (double)values[1] / 2, (double)values[3] + (double)values[2] / 2);
2023-12-20 09:58:16 +00:00
FirstCorner = new Point((double)values[0] + (double)values[1] / 2, ((double)values[3] + (double)values[6] + (double)values[7]) / 2);
SecondCorner = new Point((double)values[4] + (double)values[5] / 2, ((double)values[3] + (double)values[6] + (double)values[7]) / 2);
2024-01-17 01:24:32 +00:00
EndPoint = new Point((double)values[4] + (double)values[5] / 2, (double)values[6] / 2 + (double)values[7]);
2023-12-20 09:58:16 +00:00
}
else if (int.Parse(parameter.ToString()) == 3 || int.Parse(parameter.ToString()) == 4)
{
2024-02-20 00:59:05 +00:00
StartPoint = new Point((double)values[0] + (double)values[1] / 2, (double)values[3] + (double)values[2] / 2);
2023-12-20 09:58:16 +00:00
FirstCorner = new Point(((double)values[0] + (double)values[4] + (double)values[5]) / 2, (double)values[3] + (double)values[2] / 2);
SecondCorner = new Point(((double)values[0] + (double)values[4] + (double)values[5]) / 2, (double)values[7] + (double)values[6] / 2);
2024-02-20 00:59:05 +00:00
EndPoint = new Point((double)values[4] + (double)values[5] / 2, (double)values[7] + (double)values[6] / 2);
2023-12-20 09:58:16 +00:00
}
else if (int.Parse(parameter.ToString()) == 5 || int.Parse(parameter.ToString()) == 6)
{
2024-02-20 00:59:05 +00:00
StartPoint = new Point((double)values[0] + (double)values[1] / 2, (double)values[3] + (double)values[2] / 2);
2023-12-20 09:58:16 +00:00
FirstCorner = new Point(((double)values[0] + (double)values[1] + (double)values[4]) / 2, (double)values[3] + (double)values[2] / 2);
SecondCorner = new Point(((double)values[0] + (double)values[1] + (double)values[4]) / 2, (double)values[7] + (double)values[6] / 2);
2024-02-20 00:59:05 +00:00
EndPoint = new Point((double)values[4] + (double)values[5] / 2, (double)values[7] + (double)values[6] / 2);
2023-12-20 09:58:16 +00:00
}
else if (int.Parse(parameter.ToString()) == 7 || int.Parse(parameter.ToString()) == 8)
{
2024-02-20 00:59:05 +00:00
StartPoint = new Point((double)values[0] + (double)values[1] / 2, (double)values[3] + (double)values[2] / 2);
2023-12-20 09:58:16 +00:00
FirstCorner = new Point((double)values[0] + (double)values[1] / 2, ((double)values[3] + (double)values[2] + (double)values[7]) / 2);
SecondCorner = new Point((double)values[4] + (double)values[5] / 2, ((double)values[3] + (double)values[2] + (double)values[7]) / 2);
2024-02-20 00:59:05 +00:00
EndPoint = new Point((double)values[4] + (double)values[5] / 2, (double)values[7] + (double)values[6] / 2);
2023-12-20 09:58:16 +00:00
}
return new PointCollection { StartPoint, FirstCorner, SecondCorner, EndPoint };
2024-01-17 01:24:32 +00:00
//return new PointCollection { StartPoint, EndPoint };
2023-12-20 09:58:16 +00:00
}
public object[] ConvertBack(object value, Type[] targetTypes, object parameter, CultureInfo culture)
{
throw new NotImplementedException();
}
}
}