Пример #1
0
        public FCrop(ChangeTracker changeTracker)
        {
            this.changeTracker = changeTracker;
            InitializeComponent();

            CropTransform = new CropTransform();
        }
Пример #2
0
        public FCrop(ChangeTracker changeTracker, ThumbnailRenderer thumbnailRenderer)
        {
            this.changeTracker = changeTracker;
            this.thumbnailRenderer = thumbnailRenderer;
            InitializeComponent();

            CropTransform = new CropTransform();
        }
Пример #3
0
        public static Bitmap PostProcessStep1(Image output, ScanProfile profile)
        {
            double scaleFactor = 1;
            if (!profile.UseNativeUI)
            {
                scaleFactor = profile.AfterScanScale.ToIntScaleFactor();
            }
            var result = ImageScaleHelper.ScaleImage(output, scaleFactor);

            if (!profile.UseNativeUI && profile.ForcePageSize)
            {
                float width = output.Width / output.HorizontalResolution;
                float height = output.Height / output.VerticalResolution;
                if (float.IsNaN(width) || float.IsNaN(height))
                {
                    width = output.Width;
                    height = output.Height;
                }
                PageDimensions pageDimensions = profile.PageSize.PageDimensions() ?? profile.CustomPageSize;
                if (pageDimensions.Width > pageDimensions.Height && width < height)
                {
                    // Flip dimensions
                    result = new CropTransform
                    {
                        Right = (int)((width - (float)pageDimensions.HeightInInches()) * output.HorizontalResolution),
                        Bottom = (int)((height - (float)pageDimensions.WidthInInches()) * output.VerticalResolution)
                    }.Perform(result);
                    // result.SetResolution((float)(output.Width / pageDimensions.HeightInInches()), (float)(output.Height / pageDimensions.WidthInInches()));
                }
                else
                {
                    result = new CropTransform
                    {
                        Right = (int)((width - (float)pageDimensions.WidthInInches()) * output.HorizontalResolution),
                        Bottom = (int)((height - (float)pageDimensions.HeightInInches()) * output.VerticalResolution)
                    }.Perform(result);
                    //result.SetResolution((float)(output.Width / pageDimensions.WidthInInches()), (float)(output.Height / pageDimensions.HeightInInches()));
                }
            }

            return result;
        }
Пример #4
0
 private void btnRevert_Click(object sender, EventArgs e)
 {
     CropTransform = new CropTransform();
     UpdatePreviewBox();
 }