Modificare geandezza ed estensione di un'immagine in vb net

martedì 18 settembre 2007 - 16.09

trinity Profilo | Guru

Salve ragazzi,
è possibile in vb net 2005 poter creare un codice che prenda un file immagine e gli vari la sua grandezza in pixel esempio da 800x600 a 640x480 ed in più riesca a cambiare la sua estensione ossia per esempio passare da .bmp a .jpg?

Se si come?

Ciao
Cirillo Fabio
www.wondernet.biz
fabio@wondernet.biz
http://blogs.dotnethell.it/fabiocirillo/
http://wnetsoftware.blogspot.com

Brainkiller Profilo | Guru

>Salve ragazzi,
>è possibile in vb net 2005 poter creare un codice che prenda
>un file immagine e gli vari la sua grandezza in pixel esempio
>da 800x600 a 640x480 ed in più riesca a cambiare la sua estensione
>ossia per esempio passare da .bmp a .jpg?

C'è il metodo GetThumbnailImage della classe Image che ti consente di creare Thumbnail (resizzare quindi l'immagine alla dimensione che vuoi). Sempre la classe Image ti permette di salvare l'immagine in altro formato da bmp a jpg a png, ecc.
Ciao

David De Giacomi | Microsoft MVP
http://blogs.dotnethell.it/david/

Fantazma Profilo | Junior Member

Vado a memoria, puoi provare questo frammento:

Il codice sorgente non è stato renderizzato qui
perchè non c'è sufficiente spazio.
Clicca qui per visualizzarlo in una nuova finestra

Se hai problemi fammi sapere che faccio un debug della mia memoria...



trinity Profilo | Guru

grazie e funziona.

In più ho scritto anche questo codice che funziona:


Dim NewImage, Oldimage As System.Drawing.Image Oldimage = System.Drawing.Image.FromFile("c:\superman.jpg") NewImage = Oldimage.GetThumbnailImage(640, 480, Nothing, IntPtr.Zero) NewImage.Save("c:\fabio.jpg", System.Drawing.Imaging.ImageFormat.Jpeg)

secondo te quale è il migliore tra i due?

ciao
Cirillo Fabio
www.wondernet.biz
fabio@wondernet.biz
http://blogs.dotnethell.it/fabiocirillo/
http://wnetsoftware.blogspot.com

Fantazma Profilo | Junior Member

...bene, allora ho una memoria migliore di quel che pensassi...

Io ti sconsiglio di usare il metodo GetThumbnail poichè esso è utilizzabile solo con immagini di piccole dimensioni (120x120). Infatti ti riporto un paio di righe tratte dall'MSDN;

"Se l'oggetto Image contiene un'immagine di anteprima incorporata, questo metodo consentirà di recuperare l'anteprima incorporata e di ottenere le dimensioni richieste. Se l'oggetto Image non contiene un'immagine di anteprima incorporata, questo metodo consentirà di creare un'immagine di anteprima ridimensionando le proporzioni dell'immagine principale.

Il metodo GetThumbnailImage garantisce migliori risultati quando le dimensioni dell'immagine di anteprima richiesta sono pari a circa 120x120 pixel. Se si richiede un'immagine di anteprima di grandi dimensioni, ad esempio 300x300, da un oggetto Image che dispone di un'anteprima incorporata, è possibile che si verifichi una notevole perdita di qualità dell'immagine dell'anteprima. Potrebbe essere consigliabile ridimensionare l'immagine principale, anziché ridimensionare l'anteprima incorporata, chiamando il metodo DrawImage ."

Puoi leggere il tutto a questo indirizzo:

http://msdn2.microsoft.com/it-it/library/system.drawing.image.getthumbnailimage(VS.80).aspx

Per rendere il codice facilmente riutilizzabile ti consiglio vivamente il metodo con il drawimage.

Se hai bisogno di altre info senza problemi, ho combattuto per un anno intero con il GDI+ !!!

trinity Profilo | Guru

ok ciao grazie mille,
senti se hai un nick di msn o skype possiamo scambiarcelo e semmai aiutarci in futuro su eventuali quesiti..
Cirillo Fabio
www.wondernet.biz
fabio@wondernet.biz
http://blogs.dotnethell.it/fabiocirillo/
http://wnetsoftware.blogspot.com

Fantazma Profilo | Junior Member

Certo...

msn: zmarrell@hotmail.com

skype: zmarrell

la mia presenza online va a periodi... questo è un periodo buono...

Ciao

trinity Profilo | Guru

ok grazie oggi faccio le richieste, cmq ecco i miei:

msn captain_rubber@hotmail.com

skype: captain_rabber

cmq piacere di conoscerti il mio Nome è Fabio

Ciao a presto
Cirillo Fabio
www.wondernet.biz
fabio@wondernet.biz
http://blogs.dotnethell.it/fabiocirillo/
http://wnetsoftware.blogspot.com
Partecipa anche tu! Registrati!
Hai bisogno di aiuto ?
Perchè non ti registri subito?

Dopo esserti registrato potrai chiedere
aiuto sul nostro Forum oppure aiutare gli altri

Consulta le Stanze disponibili.

Registrati ora !
Copyright © dotNetHell.it 2002-2024
Running on Windows Server 2008 R2 Standard, SQL Server 2012 & ASP.NET 3.5