:master: cerco di spiegarmi meglio con un esempio
questa è una paginenetta asp (non asp.net) che richiama tre immagine uguali, diversamente ridimensionate:
[img]img.aspx?p_img=./DSCN0010.png&p_max=500[/img]
[img]img.aspx?p_img=./DSCN0010.png&p_max=250[/img]
[img]img.aspx?p_img=./DSCN0010.png&p_max=100[/img]
l'esempio è minimale, ma come vedi gli passo:
1) la pagina che fa le operazioni
2) l'immagine che voglio
3) la dimensione che voglio
la pagina ricevente, img.aspx, recupera i parametri e lancia le procedure che restituiscono le immagini ridimensionate. A titolo di esempio, in c# perchè l'ho sotto mano, ma in basic è lo stesso:
non c'è nessun redirect ma solo procedure parametrizzatecodice:<script runat="server"> /*------------------------------------------------------------------------------------------- * Ricevo: * p_img = percorso immagine, assoluto (c:\tmp\prova.jpg) * relativo (../prova.jpg) * remoto (http://localhost/prova.jpg * il formato può essere jpg, png, tif, bmp, gif * * * p_max = dimensione max dell'immagine in px, -1 per avere * dimensioni originali * * Restituisco immagine ridimensionata in formato jpg, qualità alta, compressione predefinita * ------------------------------------------------------------------------------------------*/ protected void Page_Load(object sender, EventArgs e) { int result; try { string p_img = this.Request.QueryString["p_img"]; string p_max = this.Request.QueryString["p_max"]; if (string.IsNullOrEmpty(p_img) ) throw new Exception("Specificare un percorso immagine valido"); if (string.IsNullOrEmpty(p_max) || !int.TryParse(p_max, out result) ) throw new Exception("Specificare una dimensione immagine valida"); img.ImgResizeAndSaveToResponseOutputStream(p_img, int.Parse(p_max)); } catch(Exception ex) { try { //se posso restituisco una immagine con la descrizione dell'errore Bitmap bmp = img.ImgFromText(ex.Message, Color.White, Brushes.Black, new Font("Arial", 12, FontStyle.Regular, GraphicsUnit.Point)); img.ImgSaveToResponseOutputStream(bmp); } catch { //altrimenti restituisco una immagine di errore predefinita //letta dal disco this.Response.WriteFile(Server.MapPath("errore_generico.bmp")); this.Response.End(); } } finally { } } </script>
in parole povere, recuperi i parametri dalla querystring e li sostituisci nei valori fissi della pagina.

Rispondi quotando