| Roberto Persico |
Errore di memoria caricando un file gif
Ho necessità di visualizzare in una picturebox (o altro controlla che me lo permetta) un file .GIF (2472x1749,95kb). Si tratta di un documento scannerizzato in bianco e nero.
Ho provato sia "Image.FromFile(fileName)" che "new Bitmap(fileName)", ma mi ritornano sempre "Out of Memory" (che probabilmente nasconde un errore di altra natura). Anche a Design time ho provato ad assegnare l'immagine alla picturebox e mi ritorna un errore di parametro non valido. Con MsPaint: Convertendo il file da GIF a BMP, funziona. Diminuendo le dimensioni della metà e mantenendo il file GIF, funziona. Grazie, Roberto |
| Raffaele Rialdi [MVP] |
Re: Errore di memoria caricando un file gif
> Ho necessità di visualizzare in una picturebox (o altro controlla che me lo > permetta) un file .GIF (2472x1749,95kb). Si tratta di un documento > scannerizzato in bianco e nero. [...] > Con MsPaint: > Convertendo il file da GIF a BMP, funziona. > Diminuendo le dimensioni della metà e mantenendo il file GIF, funziona. Tieni conto che in realtà in memoria non occupa solo 95Kb. Quella è la dimensione compressa. Il GIF usa la comressione LZH che è molto potente (anche se png è meglio). Visto che i gif hanno una palette di 256 colori per pixel (quindi ogni pixel occupa un byte), in memoria occuperà: 2472 x 1749 byte = 4'323'528 byte Diventa già più ragionevole che ti dia un errore anche se non conosco i limiti della picturebox. Sicuramente vale la pena ridurre le dimensioni del file (per esempio con GetThumbailImage) visto che non riuscirai mai a mostrarla al pieno della sua risoluzione. -- Raffaele Rialdi Microsoft .NET MVP http://mvp.support.microsoft.com - http://italy.mvps.org UGIdotNET - User Group Italiano .NET http://www.ugidotnet.org Weblog: http://www.ugidotnet.org/2082.blog ---------------------- Questo messaggio è stato postato da microsoft.public.it.dotnet.vb. |
| Roberto Persico |
Re: Errore di memoria caricando un file gif
Grazie della risposta, ma purtroppo non ha funzionato nemmeno il thumbnail.
Ciò che mi innervosisce è che il buon vecchio (?) vb6 apre la stessa gif con facilità e mi aspettavo di fare altrettanto in vb.NET. Se ci sono altre idee.... Roberto |
| Raffaele Rialdi [MVP] |
Re: Errore di memoria caricando un file gif
> Grazie della risposta, ma purtroppo non ha funzionato nemmeno il thumbnail. > Ciò che mi innervosisce è che il buon vecchio (?) vb6 apre la stessa gif con > facilità e mi aspettavo di fare altrettanto in vb.NET. > > Se ci sono altre idee.... Controlla che gli headers del gif siano ecritti giusti. Per esempio puoi aprire l'immagine in un editor di immagini e risalvarlo sovrascrivendolo. -- Raffaele Rialdi Microsoft .NET MVP http://mvp.support.microsoft.com - http://italy.mvps.org UGIdotNET - User Group Italiano .NET http://www.ugidotnet.org Weblog: http://www.ugidotnet.org/2082.blog ---------------------- Questo messaggio è stato postato da microsoft.public.it.dotnet.vb. |