Exemplo n.º 1
0
        public bool Execute()
        {
            switch (SelectedMode)
            {
            case Mode.Pack:
                try
                {
                    if (packingSample.Image == null)
                    {
                        throw new Exception("Нет изображения");
                    }
                    BbsOptions.ObjectToIndex();
                    BbsOptions.RtfText      = packFile.RtfText;
                    BbsOptions.SampleBitmap = _sampleBitmap;
                    _outputBitmap           = BbsBuilder.Pack(BbsOptions);
                    packingImage.Image      = _outputBitmap.Bitmap;
                    propertyGridControlOptions.Refresh();
                    propertyGridControlPack.Refresh();
                    propertyGridControlUnpack.Refresh();
                    return(true);
                }
                catch (Exception exception)
                {
                    XtraMessageBox.Show(exception.Message);
                    return(false);
                }

            case Mode.Unpack:
                try
                {
                    if (unpackImage.Image == null)
                    {
                        throw new Exception("Нет изображения");
                    }
                    BbsOptions.ObjectToIndex();
                    BbsOptions.InputBitmap = _inputBitmap;
                    unpackFile.RtfText     = BbsBuilder.Unpack(BbsOptions);
                    _medianBitmap          = BbsOptions.MedianBitmap;
                    unpackMedian.Image     = _medianBitmap.Bitmap;
                    propertyGridControlOptions.Refresh();
                    propertyGridControlPack.Refresh();
                    propertyGridControlUnpack.Refresh();
                    return(true);
                }
                catch (Exception exception)
                {
                    XtraMessageBox.Show(exception.Message);
                    return(false);
                }
            }
            throw new NotImplementedException();
        }