Пример #1
0
        public override object Clone()
        {
            LimitSizeStageOperationParameters target = new LimitSizeStageOperationParameters();

            CopyDataTo(target);
            return(target);
        }
Пример #2
0
        public override void OnDo(IBitmapCore hdp)
        {
            LimitSizeStageOperationParameters pm = (LimitSizeStageOperationParameters)Parameters;

            Console.WriteLine("Limiting size...");

            double w = hdp.Width, h = hdp.Height;

            if (pm.LimitWidth && w > pm.NewWidth)
            {
                h *= pm.NewWidth / w;
                w  = pm.NewWidth;
            }

            if (pm.LimitHeight && h > pm.NewHeight)
            {
                w *= pm.NewHeight / h;
                h  = pm.NewHeight;
            }

            if (pm.LimitWidth || pm.LimitHeight)
            {
                hdp.Resize((int)w, (int)h, 3,
                           delegate(double progress) {
                    return(OnReportProgress(progress));
                });
            }
        }
Пример #3
0
        public override void CopyDataTo(StageOperationParameters target)
        {
            base.CopyDataTo(target);
            LimitSizeStageOperationParameters t = (LimitSizeStageOperationParameters)target;

            t.mNewWidth    = mNewWidth;
            t.mNewHeight   = mNewHeight;
            t.mLimitWidth  = mLimitWidth;
            t.mLimitHeight = mLimitHeight;
            t.OnChanged();
        }
 public override object Clone()
 {
     LimitSizeStageOperationParameters target = new LimitSizeStageOperationParameters();
     CopyDataTo(target);
     return target;
 }