Ejemplo n.º 1
0
        public async Task <Byte[]> GetCropImageSourceData()
        {
            double sourceImageWidthScale  = imageCanvas.Width / this.sourceImagePixelWidth;
            double sourceImageHeightScale = imageCanvas.Height / this.sourceImagePixelHeight;


            Size previewImageSize = new Size(
                this.CropSelection.SelectedRect.Width / sourceImageWidthScale,
                this.CropSelection.SelectedRect.Height / sourceImageHeightScale);

            double previewImageScale = 1;

            if (previewImageSize.Width <= imageCanvas.Width &&
                previewImageSize.Height <= imageCanvas.Height)
            {
            }
            else
            {
                previewImageScale = Math.Min(imageCanvas.Width / previewImageSize.Width,
                                             imageCanvas.Height / previewImageSize.Height);
            }

            return(await BitmapHelper.GetCroppedBitmapSourceAsync(
                       this.SourceImageFile,
                       new Point(this.CropSelection.SelectedRect.X / sourceImageWidthScale, this.CropSelection.SelectedRect.Y / sourceImageHeightScale),
                       previewImageSize,
                       previewImageScale));
        }