Salve a tutti, utilizzo questo script per il resize delle immagini:

codice:
<%@ Import Namespace="System.Drawing"%>
<%@ Import Namespace="System.Drawing.Imaging"%>
<SCRIPT RUNAT="SERVER">
Sub Page_Load()

  Dim width as Integer = 0
  Dim height as Integer = 0

  try
    ' ricava dimensioni dalla richiesta
    if not Request.QueryString("nwidth") is Nothing Then
    width = Int32.Parse(Request.QueryString("nwidth"))
    End if
    if not Request.QueryString("nheight") is Nothing Then
    height = Int32.Parse(Request.QueryString("nheight"))
    End if

  catch ex as Exception
  End Try

  ' ridimensiona l'immagine se specificato
  Dim immagine as String = Server.MapPath(Request("img"))
  if Not System.Io.File.Exists(immagine) then
    immagine = Server.MapPath("/immagini/nondisponibile.jpg")
  end if
  
  call ImgRedim(immagine, width, height)

  ' fermo il resto della risposta
  Response.End()
End Sub

' Funzione di redim
Public Sub ImgRedim(immagine as String, width as Integer, height as Integer)
  Dim bmp as System.Drawing.Bitmap = CType(System.Drawing.Image.FromFile(immagine), System.Drawing.Bitmap)

  ' c'è da ridimensionare?
  if width>0 or height>0 then
    ' se è specificata solo la larghezza, calcola l'altezza
    if height = 0 Then
    height = Convert.ToInt32(width / bmp.Width * bmp.Height)
    End if

    ' (e viceversa)
    if width = 0 Then
    width = Convert.ToInt32(height / bmp.Height * bmp.Width)
    End if

    ' creo la Thumbnail con i parametri impostati
    Dim miniaturabmp as New System.Drawing.Bitmap(bmp, width, height)

    ' salvo sullo stream di output
    if immagine.EndsWith(".jpg") Then
    miniaturabmp.Save(Response.OutputStream, System.Drawing.Imaging.ImageFormat.Jpeg)
    else
    miniaturabmp.Save(Response.OutputStream, System.Drawing.Imaging.ImageFormat.Gif)
    end if

    ' pulizia
    miniaturabmp.Dispose()
  else
    ' salvo sullo stream di output
    if immagine.EndsWith(".jpg") Then
    bmp.Save(Response.OutputStream, System.Drawing.Imaging.ImageFormat.Jpeg)
    else
    bmp.Save(Response.OutputStream, System.Drawing.Imaging.ImageFormat.Gif)
    end if
  end if

  ' pulizia finale
  bmp.Dispose()

End Sub

</SCRIPT>
Lo richiamo in questo modo:

img.aspx?img=tazza.jpg&nwidth=450

Funziona molto bene, ma in questo modo non mi discrimina le immagini orizzontali da quelle verticali, ergo quelle orizzontali risultano essere piú piccole.

Vorrei fare in modo che lo script riuscisse a valutare quale dimensione (altezza o larghezza) dell'immagine sia maggiore, e di conseguenza fare il resize basandosi sulla dimensione maggiore. Non conosco l'asp.net, non sarei capace di fare questa cosa da solo.

Grazie anticipate a chi mi aiuta