Home Page
Articoli
Tips & Tricks
News
Forum
Archivio Forum
Blogs
Sondaggi
Rss
Video
Utenti
Chi Siamo
Contattaci
Username:
Password:
Login
Registrati ora!
Recupera Password
Home Page
Stanze Forum
App. WinForms / WPF .NET
Covertire file.tif in .jpg
giovedì 28 settembre 2006 - 09.31
Elenco Threads
Stanze Forum
Aggiungi ai Preferiti
Cerca nel forum
DaVbNet
Profilo
| Newbie
7
messaggi | Data Invio:
gio 28 set 2006 - 09:31
Buongiorno a tutti,
io ho la necessità di convertire dinamicamente le foto dal formato .tif o .bmp in .jpg.
Visto che non sono molto esperto di oggetti di grafica (Image, Bitmap) qualcuno mi può dare qualche consiglio?
Il mio obiettivo è di inviare al report le immagini sempre in formato .jpg anche se sul disco sono salvati in altri formati.
Grazie anticipatamente
Mark.net
Profilo
| Newbie
9
messaggi | Data Invio:
gio 28 set 2006 - 11:15
Se posso vorrei dare un ulteriore suggerimento. Il codice scritto da coach è più che corretto, l'unico inconveniente è che le immaggini convertite non danno un risultato soddisfacente dal punto di vista della qualità.
Di solito io preferisco, in questi casi, usare queste funzioni.
function Converti()
{
using(Bitmap bitmini = new Bitmap("TiffImagePath"))
{
bitmini.Save(DestinationFileName, GetImageCodecInfo(ImageFormat.Jpg), getParamsQuality(90L));
}
}
funcrion ImageCodecInfo GetImageCodecInfo(ImageFormat format)
{
ImageCodecInfo[] encoders = ImageCodecInfo.GetImageEncoders();
foreach (ImageCodecInfo icf in encoders)
{
if (icf.FormatID == format.Guid)
{
return icf;
}
}
return null;
}
}
function EncoderParameters getParamsQuality(long val)
{
EncoderParameters param = new EncoderParameters(1);
param.Param[0] = new EncoderParameter(Encoder.Quality, val);
return param;
}
dove 90L (è un long ricordalo) è la qualità della immagine jpg finale
Spero di esserti stato utile.
Marco
Non hai veramente capito qualcosa finchè non sei in grado di spiefarla ad un bambino di 6 anni. (A. Einstein)
DaVbNet
Profilo
| Newbie
7
messaggi | Data Invio:
gio 28 set 2006 - 12:01
Grazie per le risposte, ma sono fermo al punto di partenza... ovvero il codice mi genera un'eccezione sulla seguente riga :
bmp.Save(path, System.Drawing.Imaging.ImageFormat.Jpeg)
l'eccezione è:
Informazioni aggiuntive: Errore generico in GDI+.
Unhandled Exception: System.Runtime.InteropServices.ExternalException: Errore generico in GDI+.
Ho utilizzato "System.Drawing.Imaging.ImageFormat" perchè sto programmando in Vb Net (ho clamorosamente dimenticato di dirlo) e il metodo "Save" prevede di utilizzare questo tipo anzichè "CrystalDecisions.Shared.ImageFormat"
Qual è il problema?
blood
Profilo
| Senior Member
291
messaggi | Data Invio:
gio 28 set 2006 - 12:07
>Grazie per le risposte, ma sono fermo al punto di partenza...
>ovvero il codice mi genera un'eccezione sulla seguente riga :
>
>bmp.Save(path, System.Drawing.Imaging.ImageFormat.Jpeg)
>
>l'eccezione è:
>
>Informazioni aggiuntive: Errore generico in GDI+.
>Unhandled Exception: System.Runtime.InteropServices.ExternalException:
>Errore generico in GDI+.
>
>Ho utilizzato "System.Drawing.Imaging.ImageFormat" perchè sto
>programmando in Vb Net (ho clamorosamente dimenticato di dirlo)
>e il metodo "Save" prevede di utilizzare questo tipo anzichè
>"CrystalDecisions.Shared.ImageFormat"
>
>Qual è il problema?
>
Dim asd As New Bitmap("C:\asd.bmp")
asd.Save("C:\ciccio.jpg", System.Drawing.Imaging.ImageFormat.Jpeg)
a me così funzione in vs 2003
---------------
Piscopo Paolo
:: wD @ IRCnet :: .NET wannabe 8-)
DaVbNet
Profilo
| Newbie
7
messaggi | Data Invio:
gio 28 set 2006 - 15:30
Scusate ma non riesco a risolvere il problema.
Questo metodo non funziona con i file .Tif
il codice
Dim asd As New Bitmap("C:\foto.tif")
asd.Save("C:\miafoto.jpg", System.Drawing.Imaging.ImageFormat.Jpeg)
genera la seguente eccezione:
Eccezione non gestita di tipo "System.ArgumentException" in system.drawing.dll
Informazioni aggiuntive: Utilizzato parametro non valido.
Al contrario funziona con file .bmp
blood
Profilo
| Senior Member
291
messaggi | Data Invio:
gio 28 set 2006 - 15:58
ahhh con i .tif...tu avevi parlato di bitmap
edit: ho appena provato e funziona...sicuro che la tua è una .tif corretta??
poi: in che ambiente programmi e che framework hai installato?
DaVbNet
Profilo
| Newbie
7
messaggi | Data Invio:
gio 28 set 2006 - 16:32
A te funziona anche con le immagini .tif? Bel mistero..
Cosa intendi per .tif corretta? è un'immagine che windows apre normalmente.......
Io uso Visual Studio 2003 e programmo in vb.net
Framework 1.1
blood
Profilo
| Senior Member
291
messaggi | Data Invio:
gio 28 set 2006 - 17:02
>A te funziona anche con le immagini .tif? Bel mistero..
>
>Cosa intendi per .tif corretta? è un'immagine che windows apre
>normalmente.......
>
>Io uso Visual Studio 2003 e programmo in vb.net
>Framework 1.1
hai la mia stessa configurazione...cmq per tif corretta intendo che è stata creata con un programma apposta (tipo adobe photoshop) e non rinominando la bmp o un altro file immagine in .tif ...
---------------
Piscopo Paolo
:: wD @ IRCnet :: .NET wannabe 8-)
DaVbNet
Profilo
| Newbie
7
messaggi | Data Invio:
gio 28 set 2006 - 17:54
mannaggia mannaggia..... hai ragione la colpa è del file .tif
Utilizzo .tif che mi inviano i clienti e non so come vengono creati. Invece ho provato ad usare un .tif creato da scanner e funziona tutto correttamente.
Grazie per l'aiuto
blood
Profilo
| Senior Member
291
messaggi | Data Invio:
gio 28 set 2006 - 18:13
>
>mannaggia mannaggia..... hai ragione la colpa è del file .tif
>Utilizzo .tif che mi inviano i clienti e non so come vengono
>creati. Invece ho provato ad usare un .tif creato da scanner
>e funziona tutto correttamente.
>
>Grazie per l'aiuto
hihhiih immaginavo...è molto invitante fare operazioni del genere..peccato che non si ha gli stessi effetti
Comunque se hai risolto, accetta una delle mie risposte così chiudiamo il thread
---------------
Piscopo Paolo
:: wD @ IRCnet :: .NET wannabe 8-)
Torna su
Stanze Forum
Elenco Threads
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 !