public static Image resizeImage(Image imgToResize, ScreenshotSizingMode sizing)
        {
            if (sizing == ScreenshotSizingMode.None)
            {
                return(imgToResize);
            }

            int cWidth  = imgToResize.Width;
            int cHeight = imgToResize.Height;

            double resize;

            if (sizing == ScreenshotSizingMode.StretchToFullscreen)
            {
                resize = 4.0 / 3.0;
            }
            else
            {
                resize = 16.0 / 9.0;
            }

            double pictureAspect = (double)cWidth / (double)cHeight;

            if (pictureAspect <= resize * 1.02 && pictureAspect >= resize * 0.98)
            {
                return(imgToResize);
            }

            int nWidth, nHeight;

            if (resize > pictureAspect)
            {
                nHeight = cHeight;
                nWidth  = (int)Math.Round((double)cHeight * resize);
            }
            else
            {
                nWidth  = cWidth;
                nHeight = (int)Math.Round((double)cWidth / resize);
            }

            return(resizeImageInternal(imgToResize, nWidth, nHeight));
        }
Exemple #2
0
        public static Image resizeImage(Image imgToResize, ScreenshotSizingMode sizing)
        {
            if(sizing == ScreenshotSizingMode.None)
                return imgToResize;

            int cWidth = imgToResize.Width;
            int cHeight = imgToResize.Height;

            double resize;
            if (sizing == ScreenshotSizingMode.StretchToFullscreen)
                resize = 4.0 / 3.0;
            else
                resize = 16.0 / 9.0;

            double pictureAspect = (double)cWidth / (double)cHeight;

            if (pictureAspect <= resize * 1.02 && pictureAspect >= resize * 0.98)
                return imgToResize;

            int nWidth,nHeight;

            if (resize > pictureAspect)
            {
                nHeight = cHeight;
                nWidth = (int)Math.Round((double)cHeight * resize);
            }
            else
            {
                nWidth = cWidth;
                nHeight = (int)Math.Round((double)cWidth / resize);
            }

            return resizeImageInternal(imgToResize, nWidth, nHeight);
        }