Filoweb.it

Ridimensionare le immagini con asp.net da una pagina


FB TW whatsapp RSS FEED News letter
VB.NET
Ridimensionare le immagini con asp.net da una pagina


Per ovviare al problema è sufficiente quindi creare una pagina, ad esempio img.aspx, che contenga questo codice:



' Import necessari:

' <%@ Import Namespace=" System.Drawing" %>

' <%@ Import Namespace=" System.Drawing.Imaging" %>



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 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





Per usare lo script è sufficiente passare il percorso virtual dell' immagine, ad esempio in questo modo:



<img src=" img.aspx?img=/logo/logo.gif"
FB TW whatsapp RSS FEED News letter

filoweb.it è il sito personale di Filippo Brunelli
(c) 2017 Filippo Brunelli
Le immagini ed i testi contenuti nel sito filoweb.it sono di proprietà di Filippo Brunelli salvo diversamente indicato.
L'uso delle immagini e del testo è gratuito per uso personale ed è subbordinato alla citazione della fonte.
Brunelli Filippo declina ogni responsabilità per l'uso che viene fatto delle informazioni presenti nel sito filoweb.it.
FILOWEB.it Piccolo quaderno degli appunti. Argomento: VB.NET, Titolo:Ridimensionare le immagini con asp.net da una pagina. Altri script riguardano: CSS, Jscript, .net, Classic Asp, HTML, Jquery, varie, url rewrite, pagina protetta da password, ecc. Altro su https://www.filoweb.it