Пример #1
0
        public System.Drawing.Bitmap ApplyFilter(Image image, EFilter filtro, Color color = default(Color), int brightness = 0, int noise = 60,
                                                 RotateFlipType RFT = RotateFlipType.RotateNoneFlipNone)
        {
            switch (filtro)
            {
            case EFilter.AutomaticAdjustmentFilter:
                AutomaticAdjustmentFilter AAF = new AutomaticAdjustmentFilter();
                return(AAF.ApplyFilter(image.BitmapImage));

            case EFilter.BlackNWhiteFilter:
                BlackNWhiteFilter BNWF = new BlackNWhiteFilter();
                return(BNWF.ApplyFilter(image.BitmapImage));

            case EFilter.BrightnessFilter:
                BrightnessFilter BF = new BrightnessFilter();
                return(BF.ApplyFilter(image.BitmapImage, brightness));

            case EFilter.ColorFilter:
                ColorFilter CF = new ColorFilter();
                return(CF.ApplyFilter(image.BitmapImage, color));

            case EFilter.InvertFilter:
                InvertFilter IF = new InvertFilter();
                return(IF.ApplyFilter(image.BitmapImage));

            case EFilter.MirrorFilter:
                MirrorFilter MF = new MirrorFilter();
                return(MF.ApplyFilter(image.BitmapImage));

            case EFilter.OldFilmFilter:
                OldFilmFilter OFF = new OldFilmFilter();
                return(OFF.ApplyFilter(image.BitmapImage, noise));

            case EFilter.RotateFlipFilter:
                RotateFlipFilter RFF = new RotateFlipFilter();
                return(RFF.RotateFlip(image.BitmapImage, RFT));

            case EFilter.SepiaFilter:
                SepiaFilter SF = new SepiaFilter();
                return(SF.ApplyFilter(image.BitmapImage));

            case EFilter.WindowsFilter:
                WindowsFilter WF = new WindowsFilter();
                return(WF.ApplyFilter(image.BitmapImage));
            }
            return(image.BitmapImage);
        }
Пример #2
0
        /// <summary>
        /// 初始化设备
        /// </summary>
        /// <param name="canBand"></param>
        /// <param name="runMode"></param>
        /// <param name="filter"></param>
        /// <param name="accCode"></param>
        /// <param name="accMark"></param>
        /// <returns></returns>
        public bool InitalCanBus(UInt32 canBusId, ECanBaud canBand, out string er,
                                 UInt32 accCode   = 0x0, UInt32 accMark           = 0xFFFFFFFF,
                                 ERunMode runMode = ERunMode.正常模式, EFilter filter = EFilter.单滤波
                                 )
        {
            er = string.Empty;

            try
            {
                if (!_devOpen)
                {
                    er = "CanBus总线未打开";
                    return(false);
                }

                VCI_INIT_CONFIG config = new VCI_INIT_CONFIG();
                config.AccCode = accCode;
                config.AccMask = accMark;
                config.Timing0 = BTR0[(int)canBand];
                config.Timing1 = BTR1[(int)canBand];
                config.Filter  = (Byte)filter;
                config.Mode    = (Byte)runMode;

                if (VCI_InitCAN(_devType, _canBusId, canBusId, ref config) != STATUS_OK)
                {
                    er = "初始化【" + ((EVCI)_devType).ToString() + "】设备【" + canBusId.ToString() + "】失败";
                    return(false);
                }
                return(true);
            }
            catch (Exception ex)
            {
                er = ex.ToString();
                return(false);
            }
        }
Пример #3
0
        public void Filter(EFilter filter)
        {
            switch (filter)
            {
            case EFilter.Number:
            {
                Values = Values.OrderBy(x => (x as SHOW).SelectionWell.Number).ToList();
                break;
            }

            case EFilter.Summ621:
            {
                Values = Values.OrderBy(x => (x as SHOW).summs.FirstOrDefault(y => y.Key.Contains("621")).Value).ToList();
                break;
            }

            case EFilter.Summ644:
            {
                Values = Values.OrderBy(x => (x as SHOW).summs.FirstOrDefault(y => y.Key.Contains("644")).Value).ToList();
                break;
            }
            }
            ShowDG();
        }
Пример #4
0
        public System.Drawing.Bitmap ApplyFilter(Image image, EFilter filtro, Color color = default(Color), int brightness = 0, int noise = 60,
                                                 RotateFlipType RFT = RotateFlipType.RotateNoneFlipNone)
        {
            switch (filtro)
            {
            case EFilter.AutomaticAdjustment:
                AutomaticAdjustmentFilter AAF = new AutomaticAdjustmentFilter();
                Bitmap ret = AAF.ApplyFilter(image.BitmapImage);
                GC.Collect();
                return(ret);

            case EFilter.Grayscale:
                BlackNWhiteFilter BNWF = new BlackNWhiteFilter();
                Bitmap            ret2 = BNWF.ApplyFilter(image.BitmapImage);
                GC.Collect();
                return(ret2);

            case EFilter.Brightness:
                BrightnessFilter BF   = new BrightnessFilter();
                Bitmap           ret3 = BF.ApplyFilter(image.BitmapImage, brightness);
                GC.Collect();
                return(ret3);

            case EFilter.Color:
                ColorFilter CF   = new ColorFilter();
                Bitmap      ret4 = CF.ApplyFilter(image.BitmapImage, color);
                GC.Collect();
                return(ret4);

            case EFilter.Invert:
                InvertFilter IF   = new InvertFilter();
                Bitmap       ret5 = IF.ApplyFilter(image.BitmapImage);
                GC.Collect();
                return(ret5);

            case EFilter.Mirror:
                MirrorFilter MF   = new MirrorFilter();
                Bitmap       ret6 = MF.ApplyFilter(image.BitmapImage);
                GC.Collect();
                return(ret6);

            case EFilter.OldFilm:
                OldFilmFilter OFF  = new OldFilmFilter();
                Bitmap        ret7 = OFF.ApplyFilter(image.BitmapImage, noise);
                GC.Collect();
                return(ret7);

            case EFilter.RotateFlip:
                RotateFlipFilter RFF  = new RotateFlipFilter();
                Bitmap           ret8 = RFF.RotateFlip(image.BitmapImage, RFT);
                GC.Collect();
                return(ret8);

            case EFilter.Sepia:
                SepiaFilter SF   = new SepiaFilter();
                Bitmap      ret9 = SF.ApplyFilter(image.BitmapImage);
                GC.Collect();
                return(ret9);

            case EFilter.Windows:
                WindowsFilter WF    = new WindowsFilter();
                Bitmap        ret10 = WF.ApplyFilter(image.BitmapImage);
                GC.Collect();
                return(ret10);
            }
            return(image.BitmapImage);
        }
Пример #5
0
        public void setContent(EFilter iPos, string szContent)
        {
            if (iPos >= EFilter.EFilterMax)
                return;

            m_szContents[(int)iPos] = szContent;
        }
Пример #6
0
 public CmdFilter(EFilter filter) : base(Command.Type.Filter)
 {
     _filter = filter;
 }
Пример #7
0
        private static void FilterBitmap(ref Bitmap pBitmap, int pKernelSize, EFilter pFilter)
        {
            Bitmap copyBitmap = new Bitmap(pBitmap);

            for (int x = 0; x < pBitmap.Width; x++)
            {
                for (int y = 0; y < pBitmap.Height; y++)
                {
                    Color color = pBitmap.GetPixel(x, y);
                    if (pFilter == EFilter.ColorOrMax || pFilter == EFilter.ColorOrBlur)
                    {
                        if (IsTreeColoured(color))
                        {
                            continue;
                        }
                    }

                    int origVal = color.R;
                    if (origVal > 0)
                    {
                        continue;
                    }
                    int definedCount = 0;
                    int valueSum     = 0;
                    int maxValue     = 0;
                    int minValue     = 0;
                    for (int i = -pKernelSize; i < pKernelSize; i++)
                    {
                        for (int j = -pKernelSize; j < pKernelSize; j++)
                        {
                            int _x = x + i;
                            int _y = y + j;
                            if (IsOOB(_x, _y, pBitmap))
                            {
                                continue;
                            }
                            int val = pBitmap.GetPixel(_x, _y).R;

                            if (val > 0)
                            {
                                valueSum += val;
                                definedCount++;
                                if (val > maxValue)
                                {
                                    maxValue = val;
                                }
                                if (val < minValue)
                                {
                                    minValue = val;
                                }
                            }
                        }
                    }

                    int newVal = 0;
                    switch (pFilter)
                    {
                    case EFilter.Blur:
                    case EFilter.ColorOrBlur:
                        newVal = definedCount > 0 ? valueSum / definedCount : 0;
                        break;

                    case EFilter.Max:
                    case EFilter.ColorOrMax:
                        newVal = maxValue;
                        break;

                    case EFilter.Min:
                        newVal = minValue;
                        break;
                    }

                    Color newColor = Color.FromArgb(newVal, newVal, newVal);

                    if (newColor.R > 255)
                    {
                        CDebug.Error("color.R = " + newColor.R);
                    }
                    copyBitmap.SetPixel(x, y, newColor);
                }
            }
            pBitmap = copyBitmap;
        }
Пример #8
0
 /// <summary>Fill a surface of this texture from a file</summary>
 public void LoadSurface(string tex_filepath, int level, Rectangle src_rect, Rectangle dst_rect, EFilter filter, uint colour_key)
 {
     View3D_TextureLoadSurface(Handle, level, tex_filepath, new [] { dst_rect }, new [] { src_rect }, filter, colour_key);
     View3D_TextureGetInfo(Handle, out Info);
 }
Пример #9
0
 /// <summary>Fill a surface of this texture from a file</summary>
 public void LoadSurface(string tex_filepath, int level, EFilter filter, uint colour_key)
 {
     View3D_TextureLoadSurface(Handle, level, tex_filepath, null, null, filter, colour_key);
     View3D_TextureGetInfo(Handle, out Info);
 }
Пример #10
0
 /// <summary>Set the filtering and addressing modes to be used on the texture</summary>
 public void SetFilterAndAddrMode(EFilter filter, EAddrMode addrU, EAddrMode addrV)
 {
     View3D_TextureSetFilterAndAddrMode(Handle, filter, addrU, addrV);
 }