Accueil > > > CONVERTISSEUR D'IMAGES AVEC LISTVIEW
CONVERTISSEUR D'IMAGES AVEC LISTVIEW
Information sur la source
Description
Sert a convertir différents type d'images (png, gif, bmp, jpg, wmf, tiff ect..) en d'autres formats. Exemple d'isntallation aussi.
Source
- Public Class frmConvertionImage
- Inherits System.Windows.Forms.Form
-
- Const EOF As Integer = -1
-
- Dim TYPES_IMAGES As String() = {".bmp", ".gif", ".emf", ".jpg", ".png", ".tiff", ".wmf"}
- Dim NomFormat As String() = {"Bitmap (BMP)", "Join Phjoto Expert Group (JPG)", "Portable Network Graphic (PNG)", "Tag Image File Format (TIFF)", "Windows Meta File (WMF)", "CompuServ Image (GIF)", "Enhanced Windows (EMF)"}
- Dim Compression As String() = {"Aucune", "Très Bonne", "Bonne", "Moyenne", "Faible", "Excellente", "Moyenne"}
-
- Dim strNomFichier As String
- Dim strFichierFullPath As String
- Dim Extension As String
- Dim ConfigFile As String
-
-
- Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
-
- Dim FileInfo As New IO.FileInfo(Application.ExecutablePath)
-
- 'Path du fichier de configuration qui contient le dernier type d'image choisi
- 'ainsi que le dernier choix garder ou pas l'image originale.
- ConfigFile = String.Concat(FileInfo.DirectoryName, "\", "Convert.cfg")
-
- 'Lecture des arguments, ex: Convert.exe c:\bmp\image.bmp
- Dim Command As String() = Environment.GetCommandLineArgs
-
- Dim ioLecture As IO.StreamReader = IO.File.OpenText(ConfigFile)
- Dim Choix As Boolean
- Dim intSelection As Integer
- Dim I As Integer
-
- 'Transforme le curseur en petit sablier
- Me.Cursor = System.Windows.Forms.Cursors.WaitCursor
-
- 'Ajoute tous les noms de format dans la listview
- For I = 0 To NomFormat.Length - 1 Step 1
- lsvTypesImage.Items.Add(NomFormat(I))
- lsvTypesImage.Items(I).SubItems.Add(Compression(I))
- lsvTypesImage.Items(I).ImageIndex = 0
- Next I
-
- 'Établi l'ordre alphabétique
- lsvTypesImage.Sorting = SortOrder.Ascending
-
- 'Lit les lignes si la lecture n'est pas rendue a la fin de fichier (EOF)
- 'Choix Garder/Supprimer
- If ioLecture.Peek <> EOF Then
- Choix = ioLecture.ReadLine()
- Else
- Choix = False
- End If
-
- 'Choix du format précédant
- If ioLecture.Peek <> EOF Then
- intSelection = CInt(ioLecture.ReadLine())
- Else
- intSelection = 0
- End If
-
- 'Fermeture du fichier en lecture
- ioLecture.Close()
-
- 'Sélectionne la ligne correspondant au format choisi la derniere fois
- lsvTypesImage.Items(intSelection).Selected = True
-
- 'Coche l'option garder/supprimer choisie la derniere fois
- radSupprimer.Checked = Choix
- radGarder.Checked = Not Choix
-
- 'Si un argument n'a pas été donné lors de l'appel du .exe
- If Command.Length = 1 Then
-
- 'Restreint l'utilisateur a choisir que ces types de fichiers comme
- 'fichier a convertir
- OpenFileDialog1.Filter = "Tous les types d'images suppotés|*.bmp;*.gif;*.emf;*.jpg;*.jpeg;*.png;*.tiff;*.wmf|Bitmap (BMP)|*.bmp|CompuServ Image (GIF)|*.gif|Enhanced Windows (EMF)|*.emf|Join Phjoto Expert Group (JPG)|*.jpg;*.jpeg|Portable Network Graphic (PNG)|*.png|Tag Image File Format (TIFF)|*.tiff|Windows Meta File (WMF)|*.wmf"
-
- 'Ouvre la fenetre d'ouverture de fichier
- OpenFileDialog1.ShowDialog()
-
- 'Saisie du nom de fichier
- strFichierFullPath = OpenFileDialog1.FileName()
-
- 'Si aucun fichier n'a été sélectionnée, Fin du programme
- If strFichierFullPath = String.Empty Then
- Me.Close()
- Exit Sub
- End If
-
- Else
-
- 'Si un argument a été donnée, cet argument est le fichier a convertir
- strFichierFullPath = Command(1)
-
- End If
-
- 'Sert a obtenir des information sur le fichier
- Dim FileInfo2 As New IO.FileInfo(strFichierFullPath)
-
- Extension = FileInfo2.Extension
- strNomFichier = FileInfo2.Name
-
- lblNom.Text = String.Concat("Nom de l'image à convertir : ", strNomFichier)
-
- 'Rétabli le curseur de Windows par défault
- Me.Cursor = System.Windows.Forms.Cursors.Default
-
- End Sub
-
-
- Private Sub btnAnnuler_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnAnnuler.Click
- 'Fermeture du programme
- Me.Close()
- End Sub
-
-
- Private Sub Convertir()
-
- 'Si un item a été sélectionné
- If lsvTypesImage.SelectedIndices.Count > 0 Then
-
- 'Curseur Sablier
- Me.Cursor = System.Windows.Forms.Cursors.WaitCursor
-
- 'Sauvegarde des options (Types de fichier et Garder/Supprimer)
- Dim ioEcriture As IO.StreamWriter = IO.File.CreateText(ConfigFile)
- ioEcriture.WriteLine(radSupprimer.Checked)
- ioEcriture.WriteLine(lsvTypesImage.SelectedIndices(0))
- ioEcriture.WriteLine("caca")
- ioEcriture.Close()
-
-
- Dim Convertisseur As New System.Drawing.Bitmap(strFichierFullPath)
- Dim NouvelleExtension As String = TYPES_IMAGES(lsvTypesImage.SelectedIndices(0))
- Dim strNouveauFichier As String = String.Concat(strNomFichier.Substring(0, strNomFichier.LastIndexOf(".")), NouvelleExtension)
-
- 'Vérification si le ficheir existe déja
- If NouvelleExtension = Extension Or IO.File.Exists(strNouveauFichier) Then
- MsgBox("Le fichier existe déjà. Choissisez un autre format d'image.", MsgBoxStyle.Critical, "Erreure lors de la création du fichier.")
- Me.Cursor = System.Windows.Forms.Cursors.Default
-
- 'Si le fichier existe déja, la procédure ne se poursuit pas
- Exit Sub
- End If
-
- 'Converti le fichier en un autre format selon l'extension cible
- Select Case NouvelleExtension
- Case ".jpg"
- Convertisseur.Save(strNouveauFichier, System.Drawing.Imaging.ImageFormat.Jpeg)
- Case ".tiff"
- Convertisseur.Save(strNouveauFichier, System.Drawing.Imaging.ImageFormat.Tiff)
- Case ".wmf"
- Convertisseur.Save(strNouveauFichier, System.Drawing.Imaging.ImageFormat.Wmf)
- Case ".gif"
- Convertisseur.Save(strNouveauFichier, System.Drawing.Imaging.ImageFormat.Gif)
- Case ".png"
- Convertisseur.Save(strNouveauFichier, System.Drawing.Imaging.ImageFormat.Png)
- Case ".bmp"
- Convertisseur.Save(strNouveauFichier, System.Drawing.Imaging.ImageFormat.Bmp)
- Case ".emf"
- Convertisseur.Save(strNouveauFichier, System.Drawing.Imaging.ImageFormat.Emf)
- End Select
-
- 'Libère les ressources utilisées par Convertisseur
- Convertisseur.Dispose()
-
- 'Supprime l'image originale si l'option de la supprimer est activée
- If radSupprimer.Checked Then
- Kill(strFichierFullPath)
- End If
-
-
- End If
- btnAppliquer.Enabled = False
- 'Rétabli le curseur
- Me.Cursor = System.Windows.Forms.Cursors.Default
-
- End Sub
-
- Private Sub lsvTypesImage_DoubleClick(ByVal sender As Object, ByVal e As System.EventArgs) Handles lsvTypesImage.DoubleClick
- Convertir()
- End Sub
-
- Private Sub btnOk_CLick(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnOK.Click
- Convertir()
- Me.Close()
- End Sub
-
- Private Sub lsvTypesImage_SelectedIndexChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles lsvTypesImage.SelectedIndexChanged
- btnAppliquer.Enabled = True
- End Sub
-
- Private Sub btnAppliquer_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnAppliquer.Click
- Convertir()
- End Sub
- End Class
-
Public Class frmConvertionImage
Inherits System.Windows.Forms.Form
Const EOF As Integer = -1
Dim TYPES_IMAGES As String() = {".bmp", ".gif", ".emf", ".jpg", ".png", ".tiff", ".wmf"}
Dim NomFormat As String() = {"Bitmap (BMP)", "Join Phjoto Expert Group (JPG)", "Portable Network Graphic (PNG)", "Tag Image File Format (TIFF)", "Windows Meta File (WMF)", "CompuServ Image (GIF)", "Enhanced Windows (EMF)"}
Dim Compression As String() = {"Aucune", "Très Bonne", "Bonne", "Moyenne", "Faible", "Excellente", "Moyenne"}
Dim strNomFichier As String
Dim strFichierFullPath As String
Dim Extension As String
Dim ConfigFile As String
Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
Dim FileInfo As New IO.FileInfo(Application.ExecutablePath)
'Path du fichier de configuration qui contient le dernier type d'image choisi
'ainsi que le dernier choix garder ou pas l'image originale.
ConfigFile = String.Concat(FileInfo.DirectoryName, "\", "Convert.cfg")
'Lecture des arguments, ex: Convert.exe c:\bmp\image.bmp
Dim Command As String() = Environment.GetCommandLineArgs
Dim ioLecture As IO.StreamReader = IO.File.OpenText(ConfigFile)
Dim Choix As Boolean
Dim intSelection As Integer
Dim I As Integer
'Transforme le curseur en petit sablier
Me.Cursor = System.Windows.Forms.Cursors.WaitCursor
'Ajoute tous les noms de format dans la listview
For I = 0 To NomFormat.Length - 1 Step 1
lsvTypesImage.Items.Add(NomFormat(I))
lsvTypesImage.Items(I).SubItems.Add(Compression(I))
lsvTypesImage.Items(I).ImageIndex = 0
Next I
'Établi l'ordre alphabétique
lsvTypesImage.Sorting = SortOrder.Ascending
'Lit les lignes si la lecture n'est pas rendue a la fin de fichier (EOF)
'Choix Garder/Supprimer
If ioLecture.Peek <> EOF Then
Choix = ioLecture.ReadLine()
Else
Choix = False
End If
'Choix du format précédant
If ioLecture.Peek <> EOF Then
intSelection = CInt(ioLecture.ReadLine())
Else
intSelection = 0
End If
'Fermeture du fichier en lecture
ioLecture.Close()
'Sélectionne la ligne correspondant au format choisi la derniere fois
lsvTypesImage.Items(intSelection).Selected = True
'Coche l'option garder/supprimer choisie la derniere fois
radSupprimer.Checked = Choix
radGarder.Checked = Not Choix
'Si un argument n'a pas été donné lors de l'appel du .exe
If Command.Length = 1 Then
'Restreint l'utilisateur a choisir que ces types de fichiers comme
'fichier a convertir
OpenFileDialog1.Filter = "Tous les types d'images suppotés|*.bmp;*.gif;*.emf;*.jpg;*.jpeg;*.png;*.tiff;*.wmf|Bitmap (BMP)|*.bmp|CompuServ Image (GIF)|*.gif|Enhanced Windows (EMF)|*.emf|Join Phjoto Expert Group (JPG)|*.jpg;*.jpeg|Portable Network Graphic (PNG)|*.png|Tag Image File Format (TIFF)|*.tiff|Windows Meta File (WMF)|*.wmf"
'Ouvre la fenetre d'ouverture de fichier
OpenFileDialog1.ShowDialog()
'Saisie du nom de fichier
strFichierFullPath = OpenFileDialog1.FileName()
'Si aucun fichier n'a été sélectionnée, Fin du programme
If strFichierFullPath = String.Empty Then
Me.Close()
Exit Sub
End If
Else
'Si un argument a été donnée, cet argument est le fichier a convertir
strFichierFullPath = Command(1)
End If
'Sert a obtenir des information sur le fichier
Dim FileInfo2 As New IO.FileInfo(strFichierFullPath)
Extension = FileInfo2.Extension
strNomFichier = FileInfo2.Name
lblNom.Text = String.Concat("Nom de l'image à convertir : ", strNomFichier)
'Rétabli le curseur de Windows par défault
Me.Cursor = System.Windows.Forms.Cursors.Default
End Sub
Private Sub btnAnnuler_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnAnnuler.Click
'Fermeture du programme
Me.Close()
End Sub
Private Sub Convertir()
'Si un item a été sélectionné
If lsvTypesImage.SelectedIndices.Count > 0 Then
'Curseur Sablier
Me.Cursor = System.Windows.Forms.Cursors.WaitCursor
'Sauvegarde des options (Types de fichier et Garder/Supprimer)
Dim ioEcriture As IO.StreamWriter = IO.File.CreateText(ConfigFile)
ioEcriture.WriteLine(radSupprimer.Checked)
ioEcriture.WriteLine(lsvTypesImage.SelectedIndices(0))
ioEcriture.WriteLine("caca")
ioEcriture.Close()
Dim Convertisseur As New System.Drawing.Bitmap(strFichierFullPath)
Dim NouvelleExtension As String = TYPES_IMAGES(lsvTypesImage.SelectedIndices(0))
Dim strNouveauFichier As String = String.Concat(strNomFichier.Substring(0, strNomFichier.LastIndexOf(".")), NouvelleExtension)
'Vérification si le ficheir existe déja
If NouvelleExtension = Extension Or IO.File.Exists(strNouveauFichier) Then
MsgBox("Le fichier existe déjà. Choissisez un autre format d'image.", MsgBoxStyle.Critical, "Erreure lors de la création du fichier.")
Me.Cursor = System.Windows.Forms.Cursors.Default
'Si le fichier existe déja, la procédure ne se poursuit pas
Exit Sub
End If
'Converti le fichier en un autre format selon l'extension cible
Select Case NouvelleExtension
Case ".jpg"
Convertisseur.Save(strNouveauFichier, System.Drawing.Imaging.ImageFormat.Jpeg)
Case ".tiff"
Convertisseur.Save(strNouveauFichier, System.Drawing.Imaging.ImageFormat.Tiff)
Case ".wmf"
Convertisseur.Save(strNouveauFichier, System.Drawing.Imaging.ImageFormat.Wmf)
Case ".gif"
Convertisseur.Save(strNouveauFichier, System.Drawing.Imaging.ImageFormat.Gif)
Case ".png"
Convertisseur.Save(strNouveauFichier, System.Drawing.Imaging.ImageFormat.Png)
Case ".bmp"
Convertisseur.Save(strNouveauFichier, System.Drawing.Imaging.ImageFormat.Bmp)
Case ".emf"
Convertisseur.Save(strNouveauFichier, System.Drawing.Imaging.ImageFormat.Emf)
End Select
'Libère les ressources utilisées par Convertisseur
Convertisseur.Dispose()
'Supprime l'image originale si l'option de la supprimer est activée
If radSupprimer.Checked Then
Kill(strFichierFullPath)
End If
End If
btnAppliquer.Enabled = False
'Rétabli le curseur
Me.Cursor = System.Windows.Forms.Cursors.Default
End Sub
Private Sub lsvTypesImage_DoubleClick(ByVal sender As Object, ByVal e As System.EventArgs) Handles lsvTypesImage.DoubleClick
Convertir()
End Sub
Private Sub btnOk_CLick(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnOK.Click
Convertir()
Me.Close()
End Sub
Private Sub lsvTypesImage_SelectedIndexChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles lsvTypesImage.SelectedIndexChanged
btnAppliquer.Enabled = True
End Sub
Private Sub btnAppliquer_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnAppliquer.Click
Convertir()
End Sub
End Class
Conclusion
Si vous voulez, vous pouvez compiler le setup qui vient avec le projet et si vous l'installez, vous aurez un item ajouté au menu contextuel qui s'affiche lorsque vous cliquez sur le bouton de droit sur une image. Vous pourrez alors convertir vos images comme si cette fonction serait intégrée dans Windows.
Note : Convert.cfg doit etre dans le répertoire de l'éxécutable (J'aurais pu arranger ca...)
C'est mon premier projet VB.NET qui sert a quelque chose, alors soyez un peu indulgents.
Fichier Zip
Sources de la même categorie
Commentaires et avis
Discussions en rapport avec ce code source dans le forum
Gestionnaire d'images(jpg/png) en vb.net [ par redahs ]
Bonjour, Je suis entrain de travailler sur une application en freelance[i](Gestion immobilière : visual studio 2005 , ms access 2003)[/i] et le clien
savoir comment convertir [ par petiflamand ]
Bonjour , je reçois des donnée d'un synthé yamaha via le port midi , ces donnée sont dans ce format soit 260329131241960169904260339131341960179905260
Convertir une date en format Mysql? [ par neotof ]
Bonjour je voudrais exécuter une requête: [code=vb] str_requete = "SELECT * from tbl_tranche WHERE JOUR_OUVRABLE = " & "'" & date_du_jour & "'" [/co
Partage d'image [ par jacques13 ]
Bonjour à tous, J'ai une image jpg de dimension 10000x10000 que je dois partager en 25 images de dimension 2000x2000. J'ai essayé plusieurs méthodes n
Modifier image PNG VB6 [ par sooner ]
Bonjour,je cherche le moyen de faire un programme en VB6 qui va modifier une image au format PNG afin d'activer le canal alpha sur une cou
Création d'une animation à partir d'images au format BMP [ par Patorix ]
Bonjour, je voudrais savoir si quelqu'un à une solution pour créer une animation à partir d'une série d'images au format bmp javascript:Insert_Emoti
Convertir Serial date a une date format YYYY-MM-dd [ par BrokenArrow29 ]
Salut tout le monde,J'aimerais bien trouvé une fonction pour convertir une date de format serial 39794 a 2008-12-12Merci et bonne journée
Convertir un nombre au format texte en format numérique [ par Happyisissi ]
Bonjour, J'ai un résultat de calcul issu d'une textbox ; la valeur est donc de type texte ; quand je la copie dans ma base de données, il la copie au
|
Derniers Blogs
[WP7] DYNAMICALLY CHANGE STARTUP PAGE[WP7] DYNAMICALLY CHANGE STARTUP PAGE par KooKiz
Let's say that you want to allow the user to customize the startup page of your application. You can easily change the startup page by editing the 'NavigationPage' attribute in the manifest file. But the manifest cannot be modified once the applicatio...
Cliquez pour lire la suite de l'article par KooKiz SESSION SILVERLIGHT 5 3D : SLIDES ET DEMOSSESSION SILVERLIGHT 5 3D : SLIDES ET DEMOS par Groc
Durant les techdays, j'ai eu le plaisir d'animer une session sur Silverlight 5 et la 3D avec Simon Ferquel. Comme promis, voici nos slides et mes démos (celles avec le viper BSG) ici et là. Pour mémoire, les démos utilisent toutes le viper BSG...
Cliquez pour lire la suite de l'article par Groc [TECHDAYS 2012] SESSION WEBMATRIX 2 : LE COUTEAU SUISSE GRATUIT POUR VOS DéVELOPPEMENTS WEB - SLIDES[TECHDAYS 2012] SESSION WEBMATRIX 2 : LE COUTEAU SUISSE GRATUIT POUR VOS DéVELOPPEMENTS WEB - SLIDES par gpommier
Suite à la session que j'ai présenté sur WebMatrix 2, vous pouvez trouver les slides ici, ainsi que les démos en packages nuget : démos1 et démos2 J'en profite pour remercier chaleureusement tous ceux qui sont venus très nombreux à cette sess...
Cliquez pour lire la suite de l'article par gpommier [SHAREPOINT] LES SESSIONS TECHDAYS 2012.[SHAREPOINT] LES SESSIONS TECHDAYS 2012. par Patrick Guimonet
Voici donc pour ceux qui n'ont pas pu venir, ou ceux qui n'ont pas pu toutes les suivre la liste des sessions SharePoint aux TechDays 2012, que je mettrais à jour dès que les liens des vidéo seront disponibles. Ou ici : http...
Cliquez pour lire la suite de l'article par Patrick Guimonet TECHDAYS PARIS 2012 : SESSION PLEINIèRE JOUR 3TECHDAYS PARIS 2012 : SESSION PLEINIèRE JOUR 3 par ROMELARD Fabrice
Speaker: Bernard Ourghanlian Cette session est comme chaque jour transmise en live par BrainSonic, et j'ai donc suivi cette troisième pleinière par ce moyen sur mon iPad . Elle est dédiée comme chaque année à la mise en perspective de l'é...
Cliquez pour lire la suite de l'article par ROMELARD Fabrice
Forum
LISTER KEYS.KEYLISTER KEYS.KEY par Onin42
Cliquez pour lire la suite par Onin42
Logiciels
Tribler (2012)TRIBLER (2012)Tribler est un client pair à pair (P2P/Peer-to-Peer) open source avec la capacité de regarder des... Cliquez pour télécharger Tribler OneSwarm (2012)ONESWARM (2012)Le peer-to-peer qui protège votre vie privée, c'est OneSwarm.
Ce logiciel de peer-to-peer crypté... Cliquez pour télécharger OneSwarm PONAMEDIA PREMIUM - HELLLOOO FLASH DEMO (V8.4)PONAMEDIA PREMIUM - HELLLOOO FLASH DEMO (V8.4)PONAMEDIA TV DEVIENS HELLLOOO FLASH
LA TV SUR VOTRE ORDINATEUR.
Toute une plateforme Multi... Cliquez pour télécharger PONAMEDIA PREMIUM - HELLLOOO FLASH DEMO Academy System (17.2.1.0)ACADEMY SYSTEM (17.2.1.0)Logiciel de gestion des établissements.
- élèves/étudiants (inscription, dossier, absence...)
-... Cliquez pour télécharger Academy System Easy-Planning (1.0.0.1)EASY-PLANNING (1.0.0.1)Basé sur les mêmes principes que MyPlanning, Easy-Planning permet de créer des plannings sous la ... Cliquez pour télécharger Easy-Planning
|