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();
}