public ColorSpaceConversion(ConversionType c)
        {
            //используем то, что у всех членов перечисления ConversionType указаны значения
            int type      = (int)c / 2;
            int direction = (int)c % 2;

            switch (type)
            {
            case 0:
                ColorSpace = new HSV();
                break;

            case 1:
                ColorSpace = new YCbCr();
                break;

            case 2:
                ColorSpace = new GrayScale();
                break;

            default:
                throw new ArgumentException("Unknown color space");
            }

            IsForwardConversion = direction == 0;
        }
Esempio n. 2
0
        public WriteableBitmap GetImage(string _strImgName)
        {
            WriteableBitmap bitmap = null;

            switch (m_strCurImgName)
            {
            case ComInfo.IMG_NAME_EDGE_DETECTION:
                EdgeDetection edge = (EdgeDetection)m_imgProc;
                if (edge != null)
                {
                    bitmap = edge.WriteableBitmap;
                }
                break;

            case ComInfo.IMG_NAME_GRAY_SCALE:
                GrayScale gray = (GrayScale)m_imgProc;
                if (gray != null)
                {
                    bitmap = gray.WriteableBitmap;
                }
                break;

            case ComInfo.IMG_NAME_BINARIZATION:
                Binarization binarization = (Binarization)m_imgProc;
                if (binarization != null)
                {
                    bitmap = binarization.WriteableBitmap;
                }
                break;

            case ComInfo.IMG_NAME_GRAY_SCALE_2DIFF:
                GrayScale2Diff gray2Diff = (GrayScale2Diff)m_imgProc;
                if (gray2Diff != null)
                {
                    bitmap = gray2Diff.WriteableBitmap;
                }
                break;

            case ComInfo.IMG_NAME_COLOR_REVERSAL:
                ColorReversal colorReversal = (ColorReversal)m_imgProc;
                if (colorReversal != null)
                {
                    bitmap = colorReversal.WriteableBitmap;
                }
                break;

            case ComInfo.IMG_NAME_GRAY_SCALE_DIFF:
                GrayScaleDiff grayDiff = (GrayScaleDiff)m_imgProc;
                if (grayDiff != null)
                {
                    bitmap = grayDiff.WriteableBitmap;
                }
                break;

            default:
                break;
            }

            return(bitmap);
        }
        /// <summary>
        /// モノクロボタンのクリックイベント
        /// </summary>
        /// <param name="s">オブジェクト</param>
        /// <param name="e">イベントのデータ</param>
        private async void OnClickBtnMono(object s, EventArgs e)
        {
            var gray          = new GrayScale();
            var bitmap        = BitmapFactory.DecodeResource(Resources, Resource.Drawable.dog);
            var mutableBitmap = await Task.Run(() => gray.GoImageProcessing(bitmap));

            var imageView = (ImageView)FindViewById(Resource.Id.image);

            imageView.SetImageBitmap(mutableBitmap.Copy(Bitmap.Config.Argb8888, false));
        }
Esempio n. 4
0
        private void Grayscale_Click(object sender, RoutedEventArgs e)
        {
            try
            {
                var bitmap = GrayScale.ToGrayscale(originalImage);

                filteredImage.Source = GetBitmapSource(bitmap);
            }
            catch (OriginalImageDontExistException exception)
            {
                MessageBox.Show(exception.Message);
            }
        }
Esempio n. 5
0
        public bool SelectGoImgProc(ComImgInfo _comImgInfo, CancellationToken _token)
        {
            bool bRst = true;

            switch (_comImgInfo.CurImgName)
            {
            case ComInfo.IMG_NAME_EDGE_DETECTION:
                EdgeDetection edge = (EdgeDetection)m_imgProc;
                bRst = edge.GoImgProc(_token);
                break;

            case ComInfo.IMG_NAME_GRAY_SCALE:
                GrayScale gray = (GrayScale)m_imgProc;
                bRst = gray.GoImgProc(_token);
                break;

            case ComInfo.IMG_NAME_BINARIZATION:
                Binarization binarization = (Binarization)m_imgProc;
                binarization.Thresh = _comImgInfo.BinarizationInfo.Thresh;
                bRst = binarization.GoImgProc(_token);
                break;

            case ComInfo.IMG_NAME_GRAY_SCALE_2DIFF:
                GrayScale2Diff gray2Diff = (GrayScale2Diff)m_imgProc;
                bRst = gray2Diff.GoImgProc(_token);
                break;

            case ComInfo.IMG_NAME_COLOR_REVERSAL:
                ColorReversal colorReversal = (ColorReversal)m_imgProc;
                bRst = colorReversal.GoImgProc(_token);
                break;

            case ComInfo.IMG_NAME_GRAY_SCALE_DIFF:
                GrayScaleDiff grayDiff = (GrayScaleDiff)m_imgProc;
                bRst = grayDiff.GoImgProc(_token);
                break;

            default:
                break;
            }

            return(bRst);
        }
        public Bitmap SelectGetBitmap(string _strImgName)
        {
            Bitmap bitmap = null;

            switch (_strImgName)
            {
            case ComInfo.IMG_NAME_EDGE_DETECTION:
                EdgeDetection edge = (EdgeDetection)m_imgProc;
                bitmap = edge.BitmapAfter;
                break;

            case ComInfo.IMG_NAME_GRAY_SCALE:
                GrayScale gray = (GrayScale)m_imgProc;
                bitmap = gray.BitmapAfter;
                break;

            case ComInfo.IMG_NAME_BINARIZATION:
                Binarization binarization = (Binarization)m_imgProc;
                bitmap = binarization.BitmapAfter;
                break;

            case ComInfo.IMG_NAME_GRAY_SCALE_2DIFF:
                GrayScale2Diff gray2Diff = (GrayScale2Diff)m_imgProc;
                bitmap = gray2Diff.BitmapAfter;
                break;

            case ComInfo.IMG_NAME_COLOR_REVERSAL:
                ColorReversal colorReversal = (ColorReversal)m_imgProc;
                bitmap = colorReversal.BitmapAfter;
                break;

            default:
                break;
            }

            return(bitmap);
        }
Esempio n. 7
0
 private void GrayScaleForm()
 {
     SetPnBg(GrayScale.MakeGrayscale(GrayScale.GetFormImage(this)), true, DockStyle.Fill);
 }
Esempio n. 8
0
        private void CipGrayScaleProc()
        {
            this._mutex.WaitOne();

            Cip.Filters.GrayScale filterGray = new GrayScale();
            Raster result = filterGray.ProcessWithoutWorker(this._undoList.GetCurrent());
            this._undoList.Add(result);
            this._currentBitmap = result.ToBitmap();
            this._bNeedUpdate = true;

            this._mutex.ReleaseMutex();
        }
Esempio n. 9
0
 private void grayScaleToolStripMenuItem_Click(object sender, EventArgs e)
 {
     if (!backgroundWorkerCip.IsBusy)
     {
         ImageFilter filter = new GrayScale();
         backgroundWorkerCip.RunWorkerAsync(filter);
         this.CalculateHistogram();
     }
 }
Esempio n. 10
0
        public PaletteViewModel(IContainer container, SampleTextViewModel sampleTextViewModel)
        {
            _container          = container;
            SampleTextViewModel = sampleTextViewModel;
            BaseColorBrush      = Observable.CombineLatest(
                RedValue,
                GreenValue,
                BlueValue,
                (r, g, b) => new SolidColorBrush(new Color {
                R = r, G = g, B = b, A = 255
            }))
                                  .ToReactiveProperty <SolidColorBrush>()
            ;
            BaseColorBrush.Subscribe(x =>
            {
                BaseColorBrush.Value.Freeze();
                var hsl = HslColor.FromRgb(x.Color);
                ForegroundBrush.Value = hsl.L < 0.55 ? new SolidColorBrush(Colors.White) : new SolidColorBrush(Colors.Black);

                CreatePalette(x);

                ColorCode.Value = x.Color.R.ToString("x2") + x.Color.G.ToString("x2") + x.Color.B.ToString("x2");
            });
            ColorCode.Subscribe(x => {
                if (x.Length == 6)
                {
                    RedValue.Value   = byte.Parse(x.Substring(0, 2), System.Globalization.NumberStyles.HexNumber);
                    GreenValue.Value = byte.Parse(x.Substring(2, 2), System.Globalization.NumberStyles.HexNumber);
                    BlueValue.Value  = byte.Parse(x.Substring(4, 2), System.Globalization.NumberStyles.HexNumber);
                }
            });

            ToHtmlCommand.Subscribe(() => {
                using (var scope = _container.OpenScope())
                {
                    ClearFlash();
                    var service = scope.Resolve <HtmlGenerator>();
                    var content = service.Generate(
                        PrimaryColors,
                        ComplementalColors,
                        AnalogousColors1,
                        AnalogousColors2,
                        TriadicColors1,
                        TriadicColors2,
                        VariantColors1,
                        VariantColors2,
                        WarningColors,
                        ErrorColors,
                        GrayScale
                        );
                    Clipboard.SetText(content);
                    ShowFlash("クリップボードにコピーしました。");
                }
            });
            ToCssCommand.Subscribe(() => {
                using (var scope = _container.OpenScope())
                {
                    ClearFlash();
                    var service = scope.Resolve <CssGenerator>();
                    var content = service.Generate(
                        PrimaryColors.Reverse(),
                        ComplementalColors.Reverse(),
                        AnalogousColors1.Reverse(),
                        AnalogousColors2.Reverse(),
                        TriadicColors1.Reverse(),
                        TriadicColors2.Reverse(),
                        VariantColors1.Reverse(),
                        VariantColors2.Reverse(),
                        WarningColors.Reverse(),
                        ErrorColors.Reverse(),
                        GrayScale.Reverse()
                        );
                    Clipboard.SetText(content);
                    ShowFlash("クリップボードにコピーしました。");
                }
            });
            ToWpfResourceCommand.Subscribe(() => {
                using (var scope = _container.OpenScope())
                {
                    ClearFlash();
                    var service = scope.Resolve <WpfResourceGenerator>();
                    var content = service.Generate(
                        PrimaryColors.Reverse(),
                        ComplementalColors.Reverse(),
                        AnalogousColors1.Reverse(),
                        AnalogousColors2.Reverse(),
                        TriadicColors1.Reverse(),
                        TriadicColors2.Reverse(),
                        VariantColors1.Reverse(),
                        VariantColors2.Reverse(),
                        WarningColors.Reverse(),
                        ErrorColors.Reverse(),
                        GrayScale.Reverse()
                        );
                    Clipboard.SetText(content);
                    ShowFlash("クリップボードにコピーしました。");
                }
            });

            SelectColorCommand.Subscribe(brush => {
                SampleTextViewModel.SelectColorCommand.Execute(brush);
            });
        }