Ciao a tutti.
Ho fatto una ricerca sia qui sul forum e sia su google ma nonostante abbia trovato molto materiale non ho trovato nulla che potesse andare bene alle mie esigenze.

Premetto che non alcuna nozione di asp.net. Ho un sito fatto in normale asp ma volevo affidarmi all'asp.net per fare il ridimensionamento.

Ho creato una pagina aspx con questo script:

codice:
<%@ Page Language="C#" %> 
<%@ import Namespace="System.Drawing" %> 
<%@ import Namespace="System.Drawing.Imaging" %> 
<%@ import Namespace="System.Text.RegularExpressions" %> 
<script runat="server"> 

int MaxWidth = 100; // Larghezza massima dopo il quale l'immagine viene ridimensionata 
int MaxHeight = 100; // Altezza massima dopo il quale l'immagine viene ridimensionata 
int valorelarghezza = 100;
int valorealtezza = 100;
System.Drawing.Image oldImage, newImage; 

void Page_Load(Object sender, EventArgs e) { 
if ( Request.QueryString["FileName"] != null ) { 
	string strFileName = Convert.ToString(Request.QueryString["FileName"]); 
		if ( strFileName != "" ) { 
			try { 
				oldImage = System.Drawing.Image.FromFile( Server.MapPath(strFileName) );
				int larghezzafoto = oldImage.Width;
				int altezzafoto = oldImage.Height;
				int confrontolarghezza = larghezzafoto - valorelarghezza;
				int confrontoaltezza = altezzafoto - valorealtezza;
				if ( confrontolarghezza > 0 || confrontoaltezza > 0 ) {
					if ( confrontolarghezza > confrontoaltezza ) {
						altezzafoto = ((valorelarghezza*altezzafoto)/larghezzafoto);
						if ( (valorealtezza - altezzafoto) < 6 ) {
							altezzafoto = valorealtezza;
							}
						larghezzafoto = valorelarghezza;
					} else {
						larghezzafoto = ((valorealtezza*larghezzafoto)/altezzafoto);
						if ( (valorelarghezza - larghezzafoto) < 6 ) {
							larghezzafoto = valorelarghezza;
							}
						altezzafoto = valorealtezza;					
					}					
				}
				if ( oldImage.Width > MaxWidth || oldImage.Height > MaxHeight ) { 
					// Immagine troppo grande, visualizzo la miniatura 
					newImage = oldImage.GetThumbnailImage( (larghezzafoto), (altezzafoto), null, IntPtr.Zero); 
					Response.ContentType = "image/jpeg"; 
					newImage.Save(Response.OutputStream, System.Drawing.Imaging.ImageFormat.Jpeg); 
					
					oldImage.Dispose(); 
					newImage.Dispose(); 
					oldImage = null; 
					newImage = null; 
				} else { 
					// Immagine piccola, non faccio nulla 
					Response.ContentType = "image/jpeg"; 
					oldImage.Save(Response.OutputStream, System.Drawing.Imaging.ImageFormat.Jpeg); 
					oldImage.Dispose(); 
					oldImage = null; 
				} 
			} catch (Exception ex) { 
				Response.Write(ex.Message); 
			} 
		} 
	} 
} 

private bool IsInteger(string strTmp) { 
Regex objNotIntPattern = new Regex("[^0-9-]"); 
Regex objIntPattern = new Regex("^-[0-9]+$|^[0-9]+$"); 
return !objNotIntPattern.IsMatch(strTmp) && objIntPattern.IsMatch(strTmp); 
} 

</script>
Passando in querystring il nome dell'immagine procede al ridimensionamento al volo.
Avrei necessità però di implementare questo script con una funzione in più.
Vorrei che mi restituisse sempre un immagine di una dimensione precisa, completando l'eventuale parte mancante con uno sfondo colorato (ad esempio bianco)

In pratica vorrei inserire questa immagine ridimensionata sovrapposta e al centro di in un rettangolo bianco (oppure di un'altra immagine) di dimensione prefissata.

Potete aiutarmi?

Grazie in anticipo