Ho visto giusto oppure ho visto male?
In via generale, possiamo dire che l'uso dei
Memory Stream è per
palati fini, poiché gli
Stream sono una delle due risorse fornite da Gambas per leggere direttamente all'interno di un'area di memoria riservata puntata da una variabile di tpo ''Puntatore'', ed è l'unica risorsa di Gambas per scrivere direttamente all'interno di quell'area.
Detto questo, però, bisogna notare che la Classe
HttpClient consente di scaricare in dati formato
Stringa il file immagine "
così com'è". Vengono, cioè scaricati i dati del file immagine nel suo formato in quanto tale, e non già i suoi dati immagine
grezzi. Ciò significa che se viene scaricato un file immagine compresso non potremo fare altro che salvarlo dapprima in memoria
dura e solo successivamente caricarlo in memoria RAM con le apposite risorse della Classe
Image o della Classe
Picture.
Va da sé che, se così stanno le cose, i raffinatissimi
Memory Stream possono aiutarci ben poco.
Ricapitolando: l'unica cosa, che abbiamo nella RAM immediatamente dopo lo scarico, è una variabile di tipo
Stringa contenente tutti i dati del file immagine. Questa è la parte difficile: come
assegnare ad una
PictureBox - pur facendo 1000 magheggi - i dati del file immagine "
così com'è" contenuti dalla variabile di tipo
Stringa senza passare preliminarmente per il metodo
.Load() della Classe
Image o della Classe
Picture ?