Newer
Older
Correlator / PipeGallery / Converter / SignalIntensityImageConverter.cs
pengxianhong on 4 Dec 2022 8 KB 修改dll
using System;
using System.Globalization;
using System.Windows.Data;
using System.Windows.Media.Imaging;

namespace PipeGallery.Converter
{
    public class SignalIntensityImageConverter : IValueConverter
    {
        public object Convert(object value, Type targetType, object parameter, CultureInfo culture)
        {
            try
            {
                int p = System.Convert.ToInt32(parameter);

                if (p == 0)
                {
                    int signalIntensity = (int)value;
                    switch (signalIntensity)
                    {
                        case 0:
                            return new BitmapImage(new Uri(@"/Image/l_icon0.png", UriKind.RelativeOrAbsolute));
                        case 1:
                            return new BitmapImage(new Uri(@"/Image/l_icon1.png", UriKind.RelativeOrAbsolute));
                        case 2:
                            return new BitmapImage(new Uri(@"/Image/l_icon2.png", UriKind.RelativeOrAbsolute));
                        case 3:
                            return new BitmapImage(new Uri(@"/Image/l_icon3.png", UriKind.RelativeOrAbsolute));
                        case 4:
                            return new BitmapImage(new Uri(@"/Image/l_icon4.png", UriKind.RelativeOrAbsolute));
                        case 5:
                            return new BitmapImage(new Uri(@"/Image/l_icon5.png", UriKind.RelativeOrAbsolute));
                    }
                }
                else if (p == 1)
                {
                    int signalIntensity = (int)value;
                    switch (signalIntensity)
                    {
                        case 0:
                            return new BitmapImage(new Uri(@"/Image/r_icon0.png", UriKind.RelativeOrAbsolute));
                        case 1:
                            return new BitmapImage(new Uri(@"/Image/r_icon1.png", UriKind.RelativeOrAbsolute));
                        case 2:
                            return new BitmapImage(new Uri(@"/Image/r_icon2.png", UriKind.RelativeOrAbsolute));
                        case 3:
                            return new BitmapImage(new Uri(@"/Image/r_icon3.png", UriKind.RelativeOrAbsolute));
                        case 4:
                            return new BitmapImage(new Uri(@"/Image/r_icon4.png", UriKind.RelativeOrAbsolute));
                        case 5:
                            return new BitmapImage(new Uri(@"/Image/r_icon5.png", UriKind.RelativeOrAbsolute));
                    }
                }
                else if (p == 2)
                {
                    bool fault = (bool)value;
                    if (fault)
                    {
                        return new BitmapImage(new Uri(@"/Image/d1_r.png", UriKind.RelativeOrAbsolute));
                    }
                    else
                    {
                        return new BitmapImage(new Uri(@"/Image/d2_r.png", UriKind.RelativeOrAbsolute));
                    }
                }
                else if (p == 3)
                {
                    bool fault = (bool)value;
                    if (fault)
                    {
                        return new BitmapImage(new Uri(@"/Image/d1_b.png", UriKind.RelativeOrAbsolute));
                    }
                    else
                    {
                        return new BitmapImage(new Uri(@"/Image/d2_b.png", UriKind.RelativeOrAbsolute));
                    }
                }
                else if (p == 4)
                {
                    int signalIntensity = (int)value;
                    switch (signalIntensity)
                    {
                        case 0:
                            return new BitmapImage(new Uri(@"/Image/gl_icon1.png", UriKind.RelativeOrAbsolute));
                        case 1:
                            return new BitmapImage(new Uri(@"/Image/gl_icon2.png", UriKind.RelativeOrAbsolute));
                        case 2:
                            return new BitmapImage(new Uri(@"/Image/gl_icon3.png", UriKind.RelativeOrAbsolute));
                        case 3:
                            return new BitmapImage(new Uri(@"/Image/gl_icon4.png", UriKind.RelativeOrAbsolute));
                        case 4:
                            return new BitmapImage(new Uri(@"/Image/gl_icon5.png", UriKind.RelativeOrAbsolute));
                        case 5:
                            return new BitmapImage(new Uri(@"/Image/gl_icon6.png", UriKind.RelativeOrAbsolute));
                    }
                }
                else if (p == 5)
                {
                    int signalIntensity = (int)value;
                    switch (signalIntensity)
                    {
                        case 0:
                            return new BitmapImage(new Uri(@"/Image/gl_icon1.png", UriKind.RelativeOrAbsolute));
                        case 1:
                            return new BitmapImage(new Uri(@"/Image/gl_icon7.png", UriKind.RelativeOrAbsolute));
                        case 2:
                            return new BitmapImage(new Uri(@"/Image/gl_icon8.png", UriKind.RelativeOrAbsolute));
                        case 3:
                            return new BitmapImage(new Uri(@"/Image/gl_icon9.png", UriKind.RelativeOrAbsolute));
                        case 4:
                            return new BitmapImage(new Uri(@"/Image/gl_icon10.png", UriKind.RelativeOrAbsolute));
                        case 5:
                            return new BitmapImage(new Uri(@"/Image/gl_icon11.png", UriKind.RelativeOrAbsolute));
                    }
                }
                else if (p == 6)
                {
                    int signalIntensity = (int)value;
                    switch (signalIntensity)
                    {
                        case 0:
                            return new BitmapImage(new Uri(@"/Image/tyl_icon1.png", UriKind.RelativeOrAbsolute));
                        case 1:
                            return new BitmapImage(new Uri(@"/Image/tyl_icon2.png", UriKind.RelativeOrAbsolute));
                        case 2:
                            return new BitmapImage(new Uri(@"/Image/tyl_icon3.png", UriKind.RelativeOrAbsolute));
                        case 3:
                            return new BitmapImage(new Uri(@"/Image/tyl_icon4.png", UriKind.RelativeOrAbsolute));
                        case 4:
                            return new BitmapImage(new Uri(@"/Image/tyl_icon5.png", UriKind.RelativeOrAbsolute));
                        case 5:
                            return new BitmapImage(new Uri(@"/Image/tyl_icon6.png", UriKind.RelativeOrAbsolute));
                    }
                }
                else if (p == 7)
                {
                    int signalIntensity = (int)value;
                    switch (signalIntensity)
                    {
                        case 0:
                            return new BitmapImage(new Uri(@"/Image/tyr_icon1.png", UriKind.RelativeOrAbsolute));
                        case 1:
                            return new BitmapImage(new Uri(@"/Image/tyr_icon2.png", UriKind.RelativeOrAbsolute));
                        case 2:
                            return new BitmapImage(new Uri(@"/Image/tyr_icon3.png", UriKind.RelativeOrAbsolute));
                        case 3:
                            return new BitmapImage(new Uri(@"/Image/tyr_icon4.png", UriKind.RelativeOrAbsolute));
                        case 4:
                            return new BitmapImage(new Uri(@"/Image/tyr_icon5.png", UriKind.RelativeOrAbsolute));
                        case 5:
                            return new BitmapImage(new Uri(@"/Image/tyr_icon6.png", UriKind.RelativeOrAbsolute));
                    }
                }
                else if (p == 8)
                {
                    return new BitmapImage(new Uri(@"/Image/tyl_icon7.png", UriKind.RelativeOrAbsolute));
                }
                else if (p == 9)
                {
                    return new BitmapImage(new Uri(@"/Image/tyr_icon7.png", UriKind.RelativeOrAbsolute));
                }

                return null;
            }
            catch
            {
                return null;
            }
        }

        public object ConvertBack(object value, Type targetType, object parameter,
            CultureInfo culture)
        {
            throw new NotImplementedException();
        }
    }
}