VB.Net convertir un JPG en Tiff System.Drawing.Bitmap() ???

Résolu
cs_MagDix Messages postés 531 Date d'inscription lundi 5 juin 2006 Statut Membre Dernière intervention 6 octobre 2012 - 4 nov. 2008 à 13:23
cs_MagDix Messages postés 531 Date d'inscription lundi 5 juin 2006 Statut Membre Dernière intervention 6 octobre 2012 - 4 nov. 2008 à 17:02
Bonjour à tous...

J'aimerais transformer un JPG en Tiff. J'ai fouillé un peu sur le site et j'ai trouvé un exécutable intéressant.

J'ai donc modifié légèrement le code pour me donner cela..
Dim

Nfichier
As
String  'la variable vaut:"c:\test\Photo.jpg"
If InStr(Rep_FichierExt,
"jpg")
Then
   Dim Convertisseur
As
New
System.Drawing.Bitmap(Nfichier)
   Convertisseur.Save(Nfichier, System.Drawing.Imaging.ImageFormat.Tiff)
   'Libère les ressources utilisées par Convertisseur
   Convertisseur.Dispose()
   
'Supprime l'image originale si l'option de la supprimer est activée
   Kill(Nfichier)

End
IfMon problème est que le programme Bug à la déclarationde la variable Convertisseur.
J'ai un message d'erreur qui dit: Le paramètre n'est pas valide

Il me manque un Imports ???
La déclaration de ma variable ne devrait pas se faire à cette endroit ???

Merci de me dire qu'est ce qui ne va pas...

12 réponses

gillardg Messages postés 3275 Date d'inscription jeudi 3 avril 2008 Statut Membre Dernière intervention 14 septembre 2014 2
4 nov. 2008 à 14:51
Bonjour,

Dim img
As System.Drawing.Imageimg = Image.FromFile(

"nom du fichier")
a+
3
gillardg Messages postés 3275 Date d'inscription jeudi 3 avril 2008 Statut Membre Dernière intervention 14 septembre 2014 2
4 nov. 2008 à 16:43
Bonjour,

quand tu as finis ton traitement sur l'image
release l'object

img.Dispose
ou
img=Nothing

ça devrait aller

a+
3
gillardg Messages postés 3275 Date d'inscription jeudi 3 avril 2008 Statut Membre Dernière intervention 14 septembre 2014 2
4 nov. 2008 à 14:00
Bonjour,

Public
Function Jpeg2Tiff(
ByVal img
As System.Drawing.Image,
ByVal FilePath
As
String)
As
Boolean

Tryimg.Save(FilePath &

".tiff", System.Drawing.Imaging.ImageFormat.Tiff)

Return
True

Catch ex
As Exception

Return
False

End
Try

End
Functiona+
0
cs_MagDix Messages postés 531 Date d'inscription lundi 5 juin 2006 Statut Membre Dernière intervention 6 octobre 2012 1
4 nov. 2008 à 14:23
Salut  merci beaucoup pour la fonction...


Mais j'ai un petit bug... 1 erreur...


Ca dit:
Erreur 1: Value of type 'String' cannot be converted to 'System.Drawing.Image'. 




Je ne suis pas encore super habile avec ces type de fonctiones :(


Dans mon code qui est dans ma Fonction Mise_Ajour j'ai appeleé ta fonction par ce code...



'Donne le nom du fichier avec extension



Rep_FichierExt = Microsoft.VisualBasic.Right(Nfichier, Len(Nfichier) - 26)


'Donne le nom du fichier sans l'extension

Rep_Fichier = Microsoft.VisualBasic.Left(Rep_FichierExt, Len(Rep_FichierExt) - 4)


If
InStr(Rep_FichierExt,

"jpg"
)

Then
   
Jpeg2Tiff(Rep_FichierExt, Nfichier)
........



Comment dois-je déclaré la variable img??? 

merci beaucoup pour ton aide.
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
cs_MagDix Messages postés 531 Date d'inscription lundi 5 juin 2006 Statut Membre Dernière intervention 6 octobre 2012 1
4 nov. 2008 à 15:06
Salut...


encore moi...


ok j'ai mis ton code dans ma fonction Mise_a_Jour



'Donne le nom du fichier avec extension



Rep_FichierExt = Microsoft.VisualBasic.Right(Nfichier, Len(Nfichier) - 26)







Dim
ImageJPG

As
System.Drawing.Image
ImageJPG = Image.FromFile(Rep_FichierExt)


If
InStr(Rep_FichierExt,

"jpg"
)

Then

Jpeg2Tiff(ImageJPG, Nfichier)
.......


J'ai un erreur quand j'arrive à la ligne en grtas (voir plus haut dansle message)
Ca me dit FileNotFoundException was unhandled


mon image se nomme image.jpg donc img = "image.jpg"


Où est l'erreur....


J'ai essayé de mettre le chemin complet et j'ai l'erreur Mémoire insuffisante...


Dim ImageJPG
As System.Drawing.Image
ImageJPG = Image.FromFile(Nfichier)

Merci de ton aide
0
gillardg Messages postés 3275 Date d'inscription jeudi 3 avril 2008 Statut Membre Dernière intervention 14 septembre 2014 2
4 nov. 2008 à 15:22
Bonjour,

je ne comprends pas pourquoi tu utilises
VisualBasic.Left

VisualBasic.Right

utilise les fonctions du framework ! 

la classe est system.io.path

a+
0
cs_MagDix Messages postés 531 Date d'inscription lundi 5 juin 2006 Statut Membre Dernière intervention 6 octobre 2012 1
4 nov. 2008 à 15:36
merci je ne connaissais pas cette classe...

mais je ne sais pas ce que devrait valoir ImageJPG

est-ce que ImageJPG doit valoir un fichier par exemple avec cette ligne de code,
ImagesJPG = Image.jpg ???

Dim

ImageJPG
As System.Drawing.Image
ImageJPG = Image.FromFile(Nfichier)

Selon toi, en utilisant la classe System.IO.Path tout devrait etre OK car j'ai exactement le même problème...???

Voici le code..
Rep_FichierExt Path.GetFileName(Nfichier) 'Rep_FichierExt "Image.jpg"

Dim ImageJPG
As System.Drawing.Image
ImageJPG = Image.FromFile(Rep_FichierExt)
If

Path.GetExtension(Nfichier) =
".jpg"
Then
   Jpeg2Tiff(ImageJPG, Nfichier)

........

J'ai un erreur ou c'est bisare et je ne devrait pas avoir de bug

Merci encore
0
gillardg Messages postés 3275 Date d'inscription jeudi 3 avril 2008 Statut Membre Dernière intervention 14 septembre 2014 2
4 nov. 2008 à 15:52
Bonjour,
"J'ai un erreur ou c'est bisare et je ne devrait pas avoir de bug"

ou , sur quelle instruction???????????????
sorry mais ma boule de cristelle est en vacances

ton fichier jpg, est ce que tu arrives à l'afficher dans une picturebox???
si non alors le problème vient de ton fichier ou de la façon dont tu trouves son chemin !!!!!!

a+
0
cs_MagDix Messages postés 531 Date d'inscription lundi 5 juin 2006 Statut Membre Dernière intervention 6 octobre 2012 1
4 nov. 2008 à 16:10
Rebonjour


désolé pour ta boule de cristale...  héhéhéh :P


ok je vais essayer d'être plus clair...


Dans ma Fonction Mise_A_Jour j'ai mis le code suivant:


For
Each Nfichier
In sDossier
   
'Donne le nom du fichier avec extension
   Rep_FichierExt = Path.GetFileName(Nfichier)



If
Path.GetExtension(Nfichier) =

".jpg"



Then
   
Dim
ImageJPG

As
System.Drawing.Image
    ImageJPG = Image.FromFile(Rep_FichierExt)



'Rep_FichierExt = "image.jpg"
   
   'Appelle de la fonction pour la conversion   

   Jpeg2Tiff(ImageJPG, Nfichier)

Donc le bug vient-il du fait que je suis dans une fonctione ??? Ma variable Rep_FichierExt c'est ok qu'elle valle image.jpg ???
Et oui mon fichier image.jpg s'ouvre avec n'importe quelle programme pour voir les jpg
0
gillardg Messages postés 3275 Date d'inscription jeudi 3 avril 2008 Statut Membre Dernière intervention 14 septembre 2014 2
4 nov. 2008 à 16:25
Bonjour,

dans ton programme arrives tu à l'afficher dans une picturebox????????????

a+
0
cs_MagDix Messages postés 531 Date d'inscription lundi 5 juin 2006 Statut Membre Dernière intervention 6 octobre 2012 1
4 nov. 2008 à 16:33
Salut gillard... j'ai trouvré

le bug venait de cette ligne ImageJPG = Image.FromFile(Nfichier)

Effectiuvement j'avais essayé ce code auparavant mais mon .jpg avait un erreur.... mais tout est Ok...

Dernier problème....

je convertis mon fichier .jpg en .tiff mais je doit supprimer ce fichier jpg de mon répertoire et ca me dit toujours que c'Est impossible car le processus ne peut pas accéder au fichier, car il est en cours d'utilisation par un autre processus...

Ma dernière question,, comment faire pour fermer définitivement le fichier .jpg afin que je puisse le supprimer... avec la commande

My

.Computer.FileSystem.DeleteFile(Rep_Delete)

Merci de ta grande aide... :)
0
cs_MagDix Messages postés 531 Date d'inscription lundi 5 juin 2006 Statut Membre Dernière intervention 6 octobre 2012 1
4 nov. 2008 à 17:02
merci beaucoup
0
Rejoignez-nous