Sperando di fare cosa gradita a tutti posto il codice che uso io per il resize, il crop e lacompressione delle immagini:

codice:
<%@ Page Language="vb" Debug="true"%>
<%@ import namespace="system"%>
<%@ import namespace="system.drawing" %>
<%@ import namespace="system.drawing.imaging" %>
<%@ import namespace="system.drawing.drawing2d" %>
<%



Dim StrPath		As String
Dim StrImgFile		As String
Dim StrPathImmagine	As String
Dim IntFinalWidth	As Integer
Dim IntFinalHeight	As Integer
Dim IntXSize		As Integer
Dim IntYSize		As Integer
Dim IntHalfWidth	As Integer
Dim IntHalfHeight	As Integer
Dim X			As Integer
Dim Y			As Integer
Dim IntXMiniatura	As Integer
Dim IntYMiniatura	As Integer

'Recupero il nome dell'immagine
StrImgFile         =	Request.Querystring("image")
'il path dove risiede l'immagine
StrPath		   =    Server.Mappath("/images")
'path+nomeimmagine
StrPathImmagine	   =	StrPath &"/"& StrImgFile

'Recupero la larghezza e la lunghezza che dovrà avere l'immagine
IntFinalWidth	   =    Request.QueryString("w")
IntFinalHeight	   =	Request.QueryString("h")
			
'Variabili per l'anteprima
Dim ObjBMP As System.Drawing.Image
Dim ObjGraphics As System.Drawing.Image

'prendiamo alcune informazioni importanti dall'immagine orginale
ObjBMP = New Bitmap(StrPathImmagine)
      
'Misure dell'immagine
Dim IntImgW As Integer = ObjBMP.Width
Dim IntImgH As Integer = ObjBMP.Height
			
'Nuove misure dell'immagine servono per mantenere le proporzioni, per il mio caso mi basta ridimensionare in base all'altezza

Dim IntNewImgW As Integer
Dim IntNewImgH As Integer
			
IntNewImgH = IntFinalHeight
IntNewImgW = (IntFinalHeight / IntImgH) * IntImgW
			
ObjGraphics = ObjBMP.GetThumbnailImage(IntNewImgW, IntNewImgH, Nothing, IntPtr.Zero)		
		  
'Compressione
Dim compression as long
'Recupero il valore di compressione (da 0 a 100)
If Trim(Request.QueryString("c")) = "" then
  compression = 100
Else
  compression = Request.QueryString("c")
End if


Dim myImageCodecInfo As System.Drawing.Imaging.ImageCodecInfo
Dim myEncoder As System.Drawing.Imaging.Encoder
Dim myEncoderParameter As System.Drawing.Imaging.EncoderParameter
Dim myEncoderParameters As System.Drawing.Imaging.EncoderParameters
      
			
Dim i As Integer
Dim encoders As System.Drawing.Imaging.ImageCodecInfo() = System.Drawing.Imaging.ImageCodecInfo.GetImageEncoders()

For i = 0 To (encoders.Length - 1)
  If (encoders(i).MimeType = "image/jpeg") Then
    myImageCodecInfo = encoders(i)
  End If
Next i
			
myEncoder = System.Drawing.Imaging.Encoder.Quality

myEncoderParameters = New System.Drawing.Imaging.EncoderParameters(1)

myEncoderParameter = New System.Drawing.Imaging.EncoderParameter(myEncoder, compression)

myEncoderParameters.Param(0) = myEncoderParameter
			
ObjGraphics = ObjBMP.GetThumbnailImage(IntNewImgW, IntNewImgH, Nothing, IntPtr.Zero)
			
'Qui viene fatto il crop, se non vi è necessario saltatelo
Dim ObjSysDrawImg as new 

system.drawing.bitmap(IntFinalWidth, IntFinalHeight, pixelformat.Format24bppRgb)

Dim ObjGraphics2 as graphics = graphics.fromimage(ObjSysDrawImg)

ObjGraphics2.CompositingQuality = CompositingQuality.HighQuality
ObjGraphics2.SmoothingMode = SmoothingMode.AntiAlias
ObjGraphics2.InterpolationMode = InterpolationMode.HighQualityBicubic			
			
IntXSize = ObjGraphics.width-1
IntYSize = ObjGraphics.height-1
			
IntHalfWidth = IntXSize/2
IntHalfHeight = IntYSize/2
X = IntHalfWidth - (IntFinalWidth/2)
Y = IntHalfHeight - (IntFinalHeight/2)
ObjGraphics2.drawimage(ObjGraphics, new rectangle(0, 0, IntFinalWidth, IntFinalHeight), new rectangle(X,Y,IntFinalWidth,IntFinalHeight),GraphicsUnit.Pixel)
ObjGraphics.Dispose()
'------------------------------------------------------
			
			
			
Response.ContentType="image/jpeg"

'Se avete saltato il crop commentate la riga sottostante			
ObjSysDrawImg.save(response.outputstream, myImageCodecInfo, myEncoderParameters)		

'Se avete saltato il crop decomentate la riga sottostante
			'ObjGraphics.Save(response.outputstream, myImageCodecInfo, myEncoderParameters)

ObjBMP.Dispose()
ObjGraphics2.Dispose()
ObjSysDrawImg.Dispose()
Per richiamare il tutto utilizzo:

[img]resize.aspx?image=1.bmp&w=150&h=220&c=80[/img]

Ciao a tutti