vb@rchiv
VB Classic
VB.NET
ADO.NET
VBA
C#
Schützen Sie Ihre Software vor Software-Piraterie - mit sevLock 1.0 DLL!  
 vb@rchiv Quick-Search: Suche startenErweiterte Suche starten   Impressum  | Datenschutz  | vb@rchiv CD Vol.6  | Shop Copyright ©2000-2025
 
zurück

 Sie sind aktuell nicht angemeldet.Funktionen: Einloggen  |  Neu registrieren  |  Suchen

VB.NET - Ein- und Umsteiger
Re: Bildervorschau - Bilder verkleinern - Shellandwait 
Autor: Manfred X
Datum: 05.01.13 12:29

Hier eine Funktion, die alle
JPEGs in einem Ordner lädt, sie in eine vorgegebene Thumbnail-Größe
einpasst und ein Array zurückgibt.
Diese Funktion könnte "asynchron" in einem Backgroundworker
ausgeführt werden.
    ''' <summary>JPEGs im Ordner als Thumbnails laden</summary>
    ''' <param name="PicPath">Ordner mit JPEG-Dateien</param>
    ''' <param name="width">Thumbnails: maximale Breite (10-400 Pixel)</param>
    ''' <param name="height">Thumbnails: maximale Höhe (10-400 Pixel</param>
    ''' <returns>Bitmap-Array mit Thumbnails (oder NOTHING)</returns>
    Public Function GetPics(ByVal PicPath As String, _
        Optional ByVal width As Integer = 300, _
        Optional ByVal height As Integer = 300) As Bitmap()
 
        'Parameter prüfen
        If PicPath Is Nothing Then Return Nothing
        If Not IO.Directory.Exists(PicPath) Then Return Nothing
 
        If width < 10 Or width > 400 Then Return Nothing
        If height < 10 Or height > 400 Then Return Nothing
 
        Try
            'Bilderliste für Rückgabe
            Dim pics As New List(Of Bitmap)
 
            'JPEG-Dateien im Ordner ermitteln und bearbeiten
            For Each file As String In My.Computer.FileSystem.GetFiles _
                (PicPath, FileIO.SearchOption.SearchTopLevelOnly, "*.jpg", _
                "*.jpeg")
 
 
                Using bmp_loaded As New Bitmap(file) 'Bild-Datei laden
                    With bmp_loaded
                        'Thumbnail-Größe ermitteln
                        Dim twidth As Integer = width
                        Dim theight As Integer = CInt(.Height * width / .Width)
 
                        If theight > height Then
                            theight = height
                            twidth = CInt(.Width * height / .Height)
                        End If
 
                        'Thumbnail erstellen                   
                        Using thumbnail As New Bitmap(twidth, theight),
                            gr As Graphics = Graphics.FromImage(thumbnail)
                            gr.DrawImage(bmp_loaded, 0, 0, twidth, theight)
                            'Thumbnail-Kopie in der Liste anhängen 
                            pics.Add(CType(thumbnail.Clone, Bitmap))
                        End Using 'Thumbnail freigeben
                    End With
                End Using 'bmp_loaded freigeben
            Next file 'JPEG-File
 
            'Thumbnails als Array zurückgeben
            Return pics.ToArray
        Catch
            'Fehler beim Laden des Bildes
            Return Nothing
        End Try
    End Function
Anwendung:

Dim thumbnails() As Bitmap = GetPics("C:\Pictures", 300, 300)
Die Rückgabe zunächst auf Nothing abfragen
(falls Fehler aufgetreten sind).

Beitrag wurde zuletzt am 05.01.13 um 12:31:26 editiert.
alle Nachrichten anzeigenGesamtübersicht  |  Zum Thema  |  Suchen

 ThemaViews  AutorDatum
Bildervorschau - Bilder verkleinern - Shellandwait5.667Volker Bunge05.01.13 02:02
Re: Bildervorschau - Bilder verkleinern - Shellandwait3.922Manfred X05.01.13 10:01
Re: Bildervorschau - Bilder verkleinern - Shellandwait3.731Volker Bunge05.01.13 11:56
Re: Bildervorschau - Bilder verkleinern - Shellandwait3.854Manfred X05.01.13 12:29
Re: Bildervorschau - Bilder verkleinern - Shellandwait3.701Volker Bunge05.01.13 19:31
Re: Bildervorschau - Bilder verkleinern - Shellandwait3.617Manfred X05.01.13 20:11
Re: Bildervorschau - Bilder verkleinern - Shellandwait3.793Volker Bunge05.01.13 23:16
Re: Bildervorschau - Bilder verkleinern - Shellandwait3.627Volker Bunge06.01.13 10:25
Re: Bildervorschau - Bilder verkleinern - Shellandwait4.030Manfred X06.01.13 14:38
Re: Bildervorschau - Bilder verkleinern - Shellandwait3.756Volker Bunge10.01.13 17:10
Re: Bildervorschau - Bilder verkleinern - Shellandwait3.657Volker Bunge10.01.13 20:17

Sie sind nicht angemeldet!
Um auf diesen Beitrag zu antworten oder neue Beiträge schreiben zu können, müssen Sie sich zunächst anmelden.

Einloggen  |  Neu registrieren

Funktionen:  Zum Thema  |  GesamtübersichtSuchen 

nach obenzurück
 
   

Copyright ©2000-2025 vb@rchiv Dieter Otter
Alle Rechte vorbehalten.
Microsoft, Windows und Visual Basic sind entweder eingetragene Marken oder Marken der Microsoft Corporation in den USA und/oder anderen Ländern. Weitere auf dieser Homepage aufgeführten Produkt- und Firmennamen können geschützte Marken ihrer jeweiligen Inhaber sein.

Diese Seiten wurden optimiert für eine Bildschirmauflösung von mind. 1280x1024 Pixel