Dienstag, 24. Juli 2012

[ VB.NET ] Schnell und einfach überprüfen, ob ein Bild ungültig ist.

Beim abfüllen einer Listview mit Bilder, wird jeder von euch mal auf das Problem gestossen sein, dass eine merkwürdige Fehlermeldung erscheint.

Oft ergibt eine Analyse des Bilds: Es ist ungültig.
Wie kann ich jetzt die Liste abfüllen?







Die Lösung

Mit dieser einfachen, kleinen Funktion:


  ''' <summary>  
   ''' Funktion zum Testen ob ein Bild gültig ist  
   ''' </summary>  
   ''' <param name="strFullname">Pfad + Name des Bildes</param>  
   ''' <returns></returns>  
   ''' <remarks></remarks>  
   Private Function checkImageIsValid(strFullname As String) As Boolean  
     Dim img As Image  
     '--------------------  
   
     ' Der Wert ist standartmässig True  
     checkImageIsValid = True  
   
     Try  
   
       ' Bild wird geladen   
       img = Image.FromFile(strFullname)  
       ' Objekt muss zerstört werden  
       img.Dispose()  
       ' Falls alles gut läuft (also das Bild gültig ist), bleibt der Wert True  
     Catch ex As Exception  
   
       ' Falls ncht gibt es einen Fehler und der Wert wird False  
       checkImageIsValid = False  
   
     End Try  
   End Function  

Danach muss man nur noch ein IF - Statement um das Abfüllen machen:


  If checkImageIsValid(strFullname) = True Then  
   
 'Listview Abfüllen  
           lvMedien.Items.Add(strFullname, intBildNummer)  
           lvMedien.Items.Item(intBildNummer).Text = strName  
           lvMedien.Items.Item(intBildNummer).Name = strFullname  
   
         Dim img As Image = Nothing  
   
         img = Image.FromFile(strFullname)  
         ilMedien.Images.Add(img)  
         img.Dispose()  
           '-------------------  
           ' Index steigt um 1  
           '-------------------  
           intBildNummer = intBildNummer + 1  
   
       End If  
   

0 Kommentare:

Kommentar veröffentlichen