Inheritance: StageOperationParameters
Exemple #1
0
        public override object Clone()
        {
            CrotateStageOperationParameters target = new CrotateStageOperationParameters();

            CopyDataTo(target);
            return(target);
        }
Exemple #2
0
        public override void CopyDataTo(StageOperationParameters target)
        {
            base.CopyDataTo(target);
            CrotateStageOperationParameters t = (CrotateStageOperationParameters)target;

            t.mAngle             = mAngle;
            t.mAspectRatio       = mAspectRatio;
            t.mAspectRatioCustom = mAspectRatioCustom;
            t.mAspectRatioPreset = mAspectRatioPreset;
            t.mCenter            = mCenter;
            t.mCropWidth         = mCropWidth;
            t.mCropHeight        = mCropHeight;
            t.mMode = mMode;
            t.OnChanged();
        }
Exemple #3
0
        size TrueSize(IBitmapCore hdp)
        {
            CrotateStageOperationParameters pm = (CrotateStageOperationParameters)Parameters;

            int trueWidth = hdp.Width, trueHeight = hdp.Height;

            double w1, h1;

            w1 = pm.CropWidth * hdp.Width;
            h1 = pm.CropHeight * hdp.Height;

            double asp_rat;

            if (pm.AspectRatioCustom)
            {
                asp_rat = pm.AspectRatio;
            }
            else
            {
                asp_rat = pm.PresetAspectRatioValues[pm.AspectRatioPreset];
            }

            switch (pm.Mode)
            {
            case Mode.Disproportional:
                trueWidth  = (int)w1;
                trueHeight = (int)h1;
                break;

            case Mode.ProportionalWidthFixed:
                trueWidth  = (int)w1;
                trueHeight = (int)(w1 / asp_rat);
                break;

            case Mode.ProportionalHeightFixed:
                trueWidth  = (int)(h1 * asp_rat);
                trueHeight = (int)h1;
                break;
            }

            size res = new size();

            res.width = trueWidth; res.height = trueHeight;
            return(res);
        }
Exemple #4
0
        public override void OnDo(IBitmapCore hdp)
        {
            Console.WriteLine("Rotating...");

            size trueSize = TrueSize(hdp);
            int  trueWidth = trueSize.width, trueHeight = trueSize.height;

            CrotateStageOperationParameters pm = (CrotateStageOperationParameters)Parameters;
            Point c_pix = new Point(pm.Center.X * hdp.Width, pm.Center.Y * hdp.Height);

            // Calculating new picture's real dimensions

            hdp.Crotate(pm.Angle, c_pix, trueWidth, trueHeight, quality,
                        delegate(double progress) {
                return(OnReportProgress(progress));
            }
                        );
        }
 public override object Clone()
 {
     CrotateStageOperationParameters target = new CrotateStageOperationParameters();
     CopyDataTo(target);
     return target;
 }