ciao a tutti!
uso il seguente script asp.net per il resize di immagini e fin qui tutto ok..funziona alla perfezione e non ho problemi!
vorrei saxe, se è possibile, come faccio a fare un resize di immagini non presenti sul mio server ma sul pc dell'utente, senza fare l'upload. in pratica l'utente deve selezionare una sua immagine attraverso una form o qlc di simile e dinamicamente dovrebbe comparire l'anteprima dell'immagine selezionata sul mio sito.
qui c'è il mio codice x il resize:
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("width") is Nothing Then width = Int32.Parse(Request.QueryString("width")) End if if not Request.QueryString("height") is Nothing Then height = Int32.Parse(Request.QueryString("height")) 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 bmp.Width > bmp.Height then height = Convert.ToInt32(width / bmp.Width * bmp.Height) End if ' (e viceversa) if bmp.Width < bmp.Height 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>

Rispondi quotando