Visualizzazione dei risultati da 1 a 3 su 3
  1. #1

    ridimensionare immagini caricate

    Salve amici,

    penso che sia una cosa impossibile, ma chiedere non costa niente! Esiste un modo per ridurre dimensioni in pixel (e quindi dimensioni del file) di immagini caricate su un sito tramite upload da pagina ASP o ASP.NET?! Premetto però che il server su cui risiede il sito è uno spazio che non da p'ossibilità di caricare librerie o classi....quindi mi servirebbe uno script "comune"!

    Grazie
    Digital XP - The new expression of digital art! - http://www.mimanchitu.it

  2. #2

  3. #3

    ok

    si lo immaginavo...

    ho trovato questo script

    <%@ 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("/images/immagine.gif")
    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>

    che ti permette cambiando la request le dimensioni di una determinata immagine

    http://www.tracousticsound.it/img.aspx?width=100
    http://www.tracousticsound.it/img.aspx?width=500
    http://www.tracousticsound.it/img.aspx?width=1000

    Lo potrei applicare ad una galleria di immagini quando si vedono le thumb...solo che il codice che uso è ASP per la connessione....e non ASP.NET! Possono convivere nella stessa pagina? Immagino di no! Quale alternativa dunque?
    Digital XP - The new expression of digital art! - http://www.mimanchitu.it

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.