Visualizzazione dei risultati da 1 a 7 su 7
  1. #1
    Utente di HTML.it
    Registrato dal
    Aug 2006
    Messaggi
    13

    Da immagine a controllo

    Ciao, nel post di prima volevo catturare uno stream ed inserirlo in una pagina senza salvarlo sul server.

    Ora il problema e' convertire lo stream in controllo

    Sub invia(ByVal sender As Object, ByVal e As System.EventArgs)
    Dim immagine As Stream
    immagine = File1.PostedFile.InputStream
    '*****Qui ho lo stream
    Dim bmpStream As System.Drawing.Bitmap = System.Drawing.Image.FromStream(immagine)
    Dim bmp As New Bitmap(bmpStream, New Size(100, 100))

    '****fino a qui tutto ok ed ho l'immagine

    '*****Questo funziona se imposto il content type della pagina a jpeg
    'Response.ContentType = bmp.RawFormat.ToString
    'bmp.Save(Response.OutputStream, System.Drawing.Imaging.ImageFormat.Jpeg)
    '****

    '****Io invece voglio mettere l'immagine direttamente in un controllo pagina

    Dim a As System.Web.UI.WebControls.Image
    a = DirectCast(bmp, System.Web.UI.WebControls.Image)
    '*******ERRORE !!!!!!!!!!!!!!!!!!
    Page.Controls.Add (a)


    bmp.Dispose()

    Response.End()

    End Sub

  2. #2
    Moderatore di Programmazione L'avatar di alka
    Registrato dal
    Oct 2001
    residenza
    Reggio Emilia
    Messaggi
    24,480
    Il controllo Image è un controllo che visualizza l'immagine restituita dal server dato un determinato indirizzo (URL), che imposti nella proprietà ImageUrl.

    Se vuoi, quindi, mostrare un'immagine generandola in quel modo, il codice per fare ciò va inserito all'interno della pagina in grado di restituire l'immagine in quanto informazione, e non di visualizzarla all'interno di un flusso HTML.

    Crea in sostanza una nuova pagina e inserisci il codice per la generazione dell'immagine da restituire attraverso l'oggetto Response.OutputStream, modificando eventualmente anche il Response.ContentType.

    In seguito, puoi predisporre una pagina qualsiasi in cui inserirai il controllo Image o un banale tag <IMG> che fa riferimento all'indirizzo della pagina creata in precedenza per ottenere l'immagine da visualizzare, generata dinamicamente.

    Ciao!
    MARCO BREVEGLIERI
    Software and Web Developer, Teacher and Consultant

    Home | Blog | Delphi Podcast | Twitch | Altro...

  3. #3
    Utente di HTML.it
    Registrato dal
    Aug 2006
    Messaggi
    13
    perfetto ma come faccio a passare alla pagina dal Response.ContentType impostato a jpeg lo stream?

    Ciao e grazie

  4. #4
    Utente di HTML.it
    Registrato dal
    Aug 2006
    Messaggi
    13
    ... mi spiego :

    la pagina base ha lo stream
    in questa c'e' una img che come src ha la pagina col Response.ContentType impostato a jpeg.

    come fa la pagina base a passare lo stream alla seconda?
    forse come array di bytes?

    Grazie ancora Ciao

  5. #5
    Moderatore di Programmazione L'avatar di alka
    Registrato dal
    Oct 2001
    residenza
    Reggio Emilia
    Messaggi
    24,480
    Potresti passare alla pagina che restituisce l'immagine eventuali parametri che indichino le modalità con cui questa deve restituire, appunto, l'immagine, specificati direttamente nell'indirizzo di ImageUrl del controllo Image o nell'attributo Src del tag <IMG>.

    Dalla pagina di generazione, poi, interpreti i parametri usando l'oggetto Request (la collezione Params).

    Ciao!
    MARCO BREVEGLIERI
    Software and Web Developer, Teacher and Consultant

    Home | Blog | Delphi Podcast | Twitch | Altro...

  6. #6
    Utente di HTML.it
    Registrato dal
    Aug 2006
    Messaggi
    13
    vedi il punto sta proprio qui:

    io non ho nessun url da passare all'attrib. src o altro perche' non ho alcuna immagine sul server.

    L'ho gia' cancellata.

    Dim immagine As Stream
    immagine = File1.PostedFile.InputStream
    '*****Qui ho lo stream
    Dim bmpStream As System.Drawing.Bitmap = System.Drawing.Image.FromStream(immagine)
    Dim bmp As New Bitmap(bmpStream, New Size(100, 100))


    e' qui che vorrei visualizzare l'immagine che il cliente ha postato senza doverlo mantenere in una cartella del server.

    Ciao

  7. #7
    Utente di HTML.it
    Registrato dal
    Aug 2006
    Messaggi
    13
    in pratica ho da passare all'eventuale pagina che visualizza l'immagine solo lo stream o la bitmap che creo dallo stream

    Ciao

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 © 2026 vBulletin Solutions, Inc. All rights reserved.