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

    [C# 2005] Convertire picturebox in byte[]

    Salve a tutti, vado subito al sodo...
    ho una picturebox nella quale carico un'immagine nel seguente modo:

    codice:
    byte[] bytes = (byte[])e.Result;
    
    MemoryStream stmLoc = new MemoryStream(bytes);
    pbImmagine.Image = Image.FromStream(stmLoc);
    e.Result mi ritorna da un webservice.

    Fin qui tutto ok.
    Ora la mia necessità è quella di effettuare l'operazione inversa;
    cioè convertire l'immagine presente nella picturebox in array di byte.

    E' possibile?
    Se si come faccio?

    Grazie mille!
    Aikon

    ...questo business è binario: o sei 1 o sei 0, vivo o morto, non esistono secondi classificati!

  2. #2
    E' più semplice di quel che sembra. Dato che non conosco il C#, ma il vb.net, te lo posso dire anziché scrivere sotto forma di codice completo.
    Salvi l'immagine in un posto qualsiasi, quindi dichiari un nuovo oggetto IO.BinaryReader, inizializzandolo con un altro oggetto di tipo IO.FileStream, inizializzato in riga:
    codice:
    binary_reader = new IO.BinaryReader(new IO.FileStream(<file>, <modalità d'apertura>))
    Ora prendi la grandezza del file e la metti in una variabile UInt64 o Double, ad esempio Size, (puoi trovarla con IO.FileInfo.Length), quindi dichiari un array di byte (ad esempio Bytes) lungo Size (o Size-1 se vuoi essere preciso). Leggi ora tutto il file e lo metti nell'array:
    codice:
    binary_reader.Read(Bytes, 0, Size)
    E poi chiudi il binary reader. Ora hai un array di bytes che rappresenta la tua immagine.

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.