2° pezzo
codice:
        public static Bitmap ImgResize(string immagineInput, int width, int height, System.Drawing.Drawing2D.InterpolationMode interpolazione, bool ingrandisciPerAdattare)
        {
            Bitmap bmp = ImgLoad(immagineInput);
            ImgResize(ref bmp, width, height, interpolazione, ingrandisciPerAdattare);
            return bmp;
        }
        
        
        
        /*----------------------------------------------------------------------------------------
         * dimMax è la dimensione a cui si vuole arrivare, larghezza o altezza
         * a seconda che l'immagine sia orizzontale o verticale.
         * interpolazione: se InterpolationMode.Invalid, viene usato il predefinito
         * ingrandisciPerAdattare: vero=ingrandisce l'immagine per adattarla alle dimensioni
         * --------------------------------------------------------------------------------------*/
        public static void ImgResize(ref Bitmap bmp, int dimMax, System.Drawing.Drawing2D.InterpolationMode interpolazione, bool ingrandisciPerAdattare)
        {
            int w = 0, h = 0;
            w = bmp.Width;
            h = bmp.Height;

            if (w >= h)
                ImgResize(ref bmp, dimMax, -1, interpolazione, ingrandisciPerAdattare);
            else
                ImgResize(ref bmp, -1, dimMax, interpolazione, ingrandisciPerAdattare);
            

        }

        public static Bitmap ImgResize(string immagineInput, int dimMax, System.Drawing.Drawing2D.InterpolationMode interpolazione, bool ingrandisciPerAdattare)
        {
            Bitmap bmp = ImgLoad(immagineInput);
            ImgResize(ref bmp, dimMax, interpolazione,ingrandisciPerAdattare);
            return bmp;
        }
        public static void ImgResize(ref Bitmap bmp, int dimMax, bool quality)
        {
            if( quality )
                ImgResize(ref bmp, dimMax, System.Drawing.Drawing2D.InterpolationMode.HighQualityBicubic, false);
            else
                ImgResize(ref bmp, dimMax, System.Drawing.Drawing2D.InterpolationMode.Invalid, false);

        }

        public static Bitmap ImgResize(string immagineInput, int dimMax, bool quality)
        {
            Bitmap bmp = ImgLoad(immagineInput);
            ImgResize(ref bmp, dimMax, quality);
            return bmp;
        }

        public static void ImgResize(ref Bitmap bmp, int dimMax)
        {
            ImgResize(ref bmp, dimMax, true);
        }

        public static Bitmap ImgResize(string immagineInput, int dimMax)
        {
            Bitmap bmp = ImgLoad(immagineInput);
            ImgResize(ref bmp, dimMax, true);
            return bmp;
        }
        
        



        /*'=======================================================================================
        '/*---------------------------------------------------------------------------------------
        ' * immagineInput    percorso immagine da disco
        ' * width, height    dimensione immagine finale. Se <=0 viene usato l'originale
        ' *                  se è valorizzata solo una dimensione, l'altra viene ricavata in proporzione
        ' *                  se sono specificate tutte e due, viene deformata
        ' * immagineOutput   percorso assoluto del file dove viene salvata l'immagine
        ' * compressione     se = -1 viene usata la compressione predefinita
        '----------------------------------------------------------------------------------------*/
        public static void ImgResizeAndSaveToFile(string immagineInput, int width, int height, System.Drawing.Drawing2D.InterpolationMode interpolazione, bool ingrandisciPerAdattare, string immagineOutput, FormatoOutput formatoOutput, int compressione)
        {
            Bitmap bmp = ImgLoad(immagineInput);
            ImgResize(ref bmp, width, height, interpolazione, ingrandisciPerAdattare);
            ImgSaveToFile(bmp, immagineOutput, formatoOutput, compressione);
            bmp.Dispose();
        }

        /*---------------------------------------------------------------------------------------
        ' * immagineInput    percorso immagine da disco
        ' * width, height    dimensione immagine finale. Se <=0 viene usato l'originale
        ' *                  se è valorizzata solo una dimensione, l'altra viene ricavata in proporzione
        ' *                  se sono specificate tutte e due, viene deformata
        ' * 
        ' * compressione     se = -1 viene usata la compressione predefinita
        '----------------------------------------------------------------------------------------*/
        public static void ImgResizeAndSaveToResponseOutputStream(string immagineInput, int width, int height, System.Drawing.Drawing2D.InterpolationMode interpolazione, bool ingrandisciPerAdattare, FormatoOutput formatoOutput, int compressione)
        {
            Bitmap bmp = ImgLoad(immagineInput);
            ImgResize(ref bmp, width, height, interpolazione, ingrandisciPerAdattare);
            ImgSaveToResponseOutputStream(bmp, formatoOutput, compressione);
            bmp.Dispose();
        }


        //'scelta qualità nel ridimensionamento e formato di uscita
        public static void ImgResizeAndSaveToFile(string immagineInput, int dimMax, bool quality, string immagineOutput, FormatoOutput formatoOutput)
        {
            Bitmap bmp = ImgLoad(immagineInput);
            ImgResize(ref bmp, dimMax, quality);
            int compressione;
            if( quality ) compressione = 100; else compressione = -1;
            ImgSaveToFile(bmp, immagineOutput, formatoOutput, compressione);
            bmp.Dispose();
        }

        //'scelta qualità nel ridimensionamento e formato di uscita
        public static void ImgResizeAndSaveToResponseOutputStream(string immagineInput, int dimMax, bool quality, FormatoOutput formatoOutput)
        {
            Bitmap bmp = ImgLoad(immagineInput);
            ImgResize(ref bmp, dimMax, quality);
            int compressione;
            if( quality ) compressione = 100; else compressione = -1;
            ImgSaveToResponseOutputStream(bmp, formatoOutput, compressione);
            bmp.Dispose();
        }



        //'scelta qualità nel ridimensionamento. Immagine di uscita tipo jpg predefinito
        public static void ImgResizeAndSaveToFile(string immagineInput, int dimMax, bool quality, string immagineOutput)
        {
            Bitmap bmp = ImgLoad(immagineInput);
            ImgResize(ref bmp, dimMax, quality);
            int compressione;
            if( quality ) compressione = 100; else compressione = -1;
            ImgSaveToFile(bmp, immagineOutput, FormatoOutput.jpg, compressione);
            bmp.Dispose();
        }

        //'scelta qualità nel ridimensionamento. Immagine di uscita tipo jpg predefinito
        public static void ImgResizeAndSaveToResponseOutputStream(string immagineInput, int dimMax, bool quality)
        {
            Bitmap bmp = ImgLoad(immagineInput);
            ImgResize(ref bmp, dimMax, quality);
            int compressione;
            if( quality ) compressione = 100; else compressione = -1;
            ImgSaveToResponseOutputStream(bmp, FormatoOutput.jpg, compressione);
            bmp.Dispose();
        }



        //'alta qualità predefinita nel ridimensionamento. L'uscita è jpg con compressione predefinita
        public static void ImgResizeAndSaveToFile(string immagineInput, int dimMax, string immagineOutput)
        {
            Bitmap bmp = ImgLoad(immagineInput);
            ImgResize(ref bmp, dimMax, true);
            ImgSaveToFile(bmp, immagineOutput, FormatoOutput.jpg, -1);
            bmp.Dispose();
        }

        //'alta qualità predefinita nel ridimensionamento. L'uscita è jpg con compressione predefinita
        public static void ImgResizeAndSaveToResponseOutputStream(string immagineInput, int dimMax)
        {
            Bitmap bmp = ImgLoad(immagineInput);
            ImgResize(ref bmp, dimMax, true);
            ImgSaveToResponseOutputStream(bmp, FormatoOutput.jpg, -1);
            bmp.Dispose();
        }


        public static void ImgResizeAndSaveToFile(HttpPostedFile immagineInput, int width, int height, System.Drawing.Drawing2D.InterpolationMode interpolazione,bool ingrandisciPerAdattare, string immagineOutput, FormatoOutput formatoOutput, int compressione)
        {
            Bitmap bmp = ImgLoad(immagineInput);
            ImgResize(ref bmp, width, height, interpolazione, ingrandisciPerAdattare);
            ImgSaveToFile(bmp, immagineOutput, formatoOutput, compressione);
            bmp.Dispose();
        }

        public static void ImgResizeAndSaveToResponseOutputStream(HttpPostedFile immagineInput, int width, int height, System.Drawing.Drawing2D.InterpolationMode interpolazione, bool ingrandisciPerAdattare, FormatoOutput formatoOutput, int compressione)
        {
            Bitmap bmp = ImgLoad(immagineInput);
            ImgResize(ref bmp, width, height, interpolazione, ingrandisciPerAdattare);
            ImgSaveToResponseOutputStream(bmp, formatoOutput, compressione);
            bmp.Dispose();
        }