Salve,
da parecchio tempo usiamo questo script in asp.net per ridimensionare le immagini in linea. Il file si chiama zoom.aspx e di solito lo usiamo per richiamare le immagini jpeg ridimensionate in questo modo [img]zoom.aspx?imgfile=nomedelfile.jpg&with=320&height= 240[/img] in pratica così facendo troviamo l'immagine (solitamente grande) ridimensionata lato server i peso e dimensioni a 320x240 o cmq in proporzioni per rimanere dentro questo spazio:
Ecco lo script:
codice:
<%@ LANGUAGE="VB" AutoEventWireup="true" %>
<%@ Import Namespace="System.Drawing" %>
<%@ Import Namespace="System.Drawing.Imaging" %>
<script runat="server" language="VB">
	Private Sub Page_Load(ByVal sender As Object, ByVal e As EventArgs)
	
	Dim MaxWidth As Single = Convert.ToSingle(Request.QueryString("width"))
	Dim MaxHeight As Single = Convert.ToSingle(Request.QueryString("height"))
	Dim imgFileName As String = Request.QueryString("imgFile")
	Dim objImage As System.Drawing.Image
	Dim objResizedImg As System.Drawing.Image
	Dim imgOutputFormat As ImageFormat
	Dim ContentTypeName As String
	Dim DimOrizz As Integer
	Dim DimVert As Integer
	
	'Crea una istanza della immagine originale
	objImage = System.Drawing.Image.FromFile(Page.MapPath(imgFileName))
	
	DimOrizz = objImage.Width
	DimVert = objImage.Height
	If DimOrizz > MaxWidth Then
		DimOrizz = MaxWidth
		DimVert = (MaxWidth / objImage.Width) * objImage.Height
		If MaxHeight > 0 Then
			If DimVert > MaxHeight Then
				DimVert = MaxHeight
				DimOrizz = (MaxHeight / objImage.Height) * objImage.Width
			End If
		End If
	Else
		If DimVert > MaxHeight Then
			DimVert = MaxHeight
			DimOrizz = (MaxHeight / objImage.Height) * objImage.Width
		Else
			DimOrizz = objImage.Width
			DimVert = objImage.Height
		End If
	End If
	
	'Crea una istanza della immagine ridotta
	objResizedImg = objImage.GetThumbnailImage(DimOrizz, DimVert, AddressOf On_GetThumbnailAbort, IntPtr.Zero)
	
	'Seleziona la estensione
	Select Case LCase(imgFileName.Split(".")(1).ToString)
	
		Case "gif"
			imgOutputFormat = ImageFormat.Gif
			contentTypeName = "image/gif"
			
		Case "jpg"
			imgOutputFormat = ImageFormat.Jpeg
			contentTypeName = "image/jpeg"
	End Select
	
	'Imposta il MIME-Type per il brwoser
	Page.Response.ContentType = contentTypeName
	'Persiste immagine ridemensionata nello strema di Output
	objResizedImg.Save(Page.Response.OutputStream, imgOutputFormat)
	objImage.Dispose()
	objResizedImg.Dispose()
		
	End Sub
	
	Private Function On_GetThumbnailAbort() As Boolean
		Return False
	End Function
</script>
Il problema è che con immagini non a 72 dpi (quasi tutte quelle che escono dalle fotocamere digitali ultimamente) il risultato è pessimo. potete verificare voi stessi. Esiste modo di metterci mano o ne esistono altri che lavorano in modo analogo con risultati più elastici?
Grazie mille