Visualizzazione dei risultati da 1 a 9 su 9

Discussione: Resize immagini

  1. #1

    Resize immagini

    Ciao a tutti,
    mi servirebbe uno script che mi consentisse di ridimensionare le fotografie prima di fare l'upload. Praticamente da un pannello di controllo che ho creato inserisco una fotografia con dimensioni ad Es. 1024x768 e devo riuscire a fare l'upload di questa foto con dimensioni 640x480 e 100x80... mi deve quindi creare in automatico 2 file uno per l'anteprima e l'altro per la foto grande.

    Come posso fare?
    Fatemi sapere.

    Grazie mille.

  2. #2
    Non credo che sia semplicissimo.

    Già è difficile (impossibile?) sapere le dimensioni di un'immagine prima dell'upload.
    Al massimo fai un primo upload, da lì cerchi qualche script che riesca a ricavare le dimensioni (avevo fatto una domanda del genere qualcosa come 2/3 settimane fa sull'argomento, prova a cercare) e poi devi vedere se è possibile redimensionare l'immagine; ma credo che per quest'ultima cosa serva qualche componente particolare. Gli script non credo bastino....

  3. #3
    Non so su che basi mi hai risposto... comunque per quanto riguarda il calcolo delle misure prima di fare l'upload se non ricordo male, ora non ho il materiale davanti, bastano 2 o 3 righe di codice... avevo fatto una cosa simile diverso tempo fa e tutto era abbastanza semplice.

    Per il resto credo che qualcosa in giro ci sia... è troppo fondamentale come operazione e mi pare impossibile che nessuno abbia creato qualcosa per risolvere.


    Attendo altri interverni, grazie mille.

  4. #4
    Beh io non sono un esperto... non so risponderti in modo assoluto purtroppo.
    Se guardi un pò sul forum qualcosa trovi.

    Mi pare che quando avevo chiesto poi postai anche lo script che avevo trovato per carlcolarmi le dimensioni.

    Che io sappia non è facilissimo. Io l'ho fatto andando ad usare l'XMLHTTP (o qualcosa del genere).

    Fai una ricerca sui miei messaggi e sicuramente qualcosa trovi. +

    Poi se qualcuno ha la soluzione ben venga

  5. #5
    è incluiso asp.net sul tuo hosting?

  6. #6
    Originariamente inviato da saltodifondi
    è incluiso asp.net sul tuo hosting?
    Si, è incluso asp.net 2.0

  7. #7
    io tempo fa trovai un file aspx (non ricordo dove)
    che faceva il resize delle immagini.
    Ti basta fare l'upload delll'immagine delle dimensioni e peso che vuoi.
    a me è tornato utile molte volte

    per fare il resize basta richiamarle così:

    [code]
    [img]tn.aspx?img=/public/foto/<%=rs([/img]&h=78&w=119" />
    [code]
    dove H e W sono altezza e larghezza che vuoi

    il file tn.aspx è questo:
    Codice PHP:
    <%@ Import Namespace="System.Drawing"%>
    <%@ 
    Import Namespace="System.Drawing.Imaging"%>
    <
    SCRIPT RUNAT="SERVER">
    Sub Page_Load()

      
    Dim width as Integer 127
      Dim height 
    as Integer 95

      
    try
        
    ' ricava dimensioni dalla richiesta
        if not Request.QueryString("w") is Nothing Then
        width = Int32.Parse(Request.QueryString("w"))
        End if
        if not Request.QueryString("h") is Nothing Then
        height = Int32.Parse(Request.QueryString("h"))
        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 larghezzacalcola 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.OutputStreamSystem.Drawing.Imaging.ImageFormat.Jpeg)
        else
        
    miniaturabmp.Save(Response.OutputStreamSystem.Drawing.Imaging.ImageFormat.Gif)
        
    end if

        
    ' pulizia
        miniaturabmp.Dispose()
      else
        ' 
    salvo sullo stream di output
        
    if immagine.EndsWith(".jpg"Then
        bmp
    .Save(Response.OutputStreamSystem.Drawing.Imaging.ImageFormat.Jpeg)
        else
        
    bmp.Save(Response.OutputStreamSystem.Drawing.Imaging.ImageFormat.Gif)
        
    end if
      
    end if

      
    ' pulizia finale
      bmp.Dispose()

    End Sub

    </SCRIPT> 

  8. #8
    Originariamente inviato da pictor
    Non credo che sia semplicissimo.

    Già è difficile (impossibile?) sapere le dimensioni di un'immagine prima dell'upload.
    Al massimo fai un primo upload, da lì cerchi qualche script che riesca a ricavare le dimensioni (avevo fatto una domanda del genere qualcosa come 2/3 settimane fa sull'argomento, prova a cercare) e poi devi vedere se è possibile redimensionare l'immagine; ma credo che per quest'ultima cosa serva qualche componente particolare. Gli script non credo bastino....
    concordo su ogni punto...cmq si, per fare un resize dell'immagine o usi un componente oppure usi asp.net/php...in puro asp non si può

  9. #9
    Grazie mille per i consigli.
    Appena possibile faccio un pò di prove poi vi faccio sapere l'esito.

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.