vb@rchiv
VB Classic
VB.NET
ADO.NET
VBA
C#
Zippen wie die Profis!  
 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
Kleine Bildverwaltung 
Autor: Manfred X
Datum: 14.11.11 08:21

Public Class frmPicList
 
    Dim ofd As New OpenFileDialog With _
    {.Title = "Ein Bild laden", .Filter = _
    "Bilder|*.bmp;*.png;*.tif;*.jpg;*.gif"}
    Dim WithEvents btnLoad As New Button _
    With {.Parent = Me, .Text = "Ein Bild laden", .Width = 100}
 
    Dim fbd As New FolderBrowserDialog _
    With {.Description = "Bilder speichern (PNG)", .ShowNewFolderButton = True}
    Dim WithEvents btnSave As New Button With _
    {.Parent = Me, .Text = "Alle Bilder speichern (PNG)", .Width = 200, .Left = _
    100}
 
    Dim dgv As New DataGridView With {.Parent = Me}
 
    Class picEntry
        Dim _key As String
        Dim _Daten() As Byte
 
        Public Sub New(ByVal filename As String)
            _Daten = My.Computer.FileSystem.ReadAllBytes(filename)
            _key = IO.Path.GetFileNameWithoutExtension(filename)
        End Sub
 
        Public Function Bild() As Bitmap
            Dim bmp As Bitmap
            Using picstream As New IO.MemoryStream(_Daten)
                bmp = CType(Bitmap.FromStream(picstream), Bitmap)
            End Using
            Return bmp
        End Function
 
        Public ReadOnly Property Thumbnail() As Bitmap
            Get
                Dim bmp As Bitmap = Bild
                Dim srect As New Rectangle(0, 0, bmp.Width, bmp.Height)
                Dim drect As New Rectangle _
                 (0, 0, CInt(100 / bmp.Height * bmp.Width), 100)
                Dim tbmp As New Bitmap(drect.Width, drect.Height)
                Using g As Graphics = Graphics.FromImage(tbmp)
                    g.DrawImage(bmp, drect, srect, GraphicsUnit.Pixel)
                End Using
                Return tbmp
            End Get
        End Property
 
        Public ReadOnly Property key As String
            Get
                Return _key
            End Get
        End Property
    End Class
 
 
    Dim picList As New System.ComponentModel.BindingList(Of picEntry)
 
    Private Sub frmPicList_Load(ByVal sender As System.Object, _
        ByVal e As System.EventArgs) Handles MyBase.Load
 
        dgv.DataSource = picList
        frmPicList_Resize(Me, New EventArgs)
    End Sub
 
    Private Sub frmPicList_Resize(ByVal sender As Object, _
        ByVal e As System.EventArgs) Handles Me.Resize
        With dgv
            .Top = 25 : .Left = 4 
            .Width = Me.Width - 10 : .Height = Me.Height - 60
        End With
    End Sub
 
    Private Sub btnLoad_Click(ByVal sender As Object, _
        ByVal e As System.EventArgs) Handles btnLoad.Click
        If ofd.ShowDialog = DialogResult.OK Then
            picList.Add(New picEntry(ofd.FileName))
            dgv.Rows(dgv.Rows.Count - 1).Height = 100
        End If
    End Sub
 
    Private Sub btnSave_Click(ByVal sender As Object, _
        ByVal e As System.EventArgs) Handles btnSave.Click
 
        If fbd.ShowDialog = DialogResult.OK Then
            For i As Integer = 0 To picList.Count - 1
                With picList(i)
                    Dim filepath As String = _
                    IO.Path.Combine(fbd.SelectedPath, .key & ".png")
                    Dim bmp As Bitmap = picList(i).Bild
 
                    Using bmp_out As New Bitmap(bmp.Width, bmp.Height, _
                            Imaging.PixelFormat.Format24bppRgb),
                            g As Graphics = Graphics.FromImage(bmp_out)
 
                        g.DrawImage(bmp, 0, 0, bmp.Width, bmp.Height)
                        bmp_out.Save(filepath, Imaging.ImageFormat.Png)
                    End Using
                End With
            Next i
        End If
    End Sub
End Class
alle Nachrichten anzeigenGesamtübersicht  |  Zum Thema  |  Suchen

 ThemaViews  AutorDatum
Listview Bilder Speichern2.909newbee_visual_b...12.11.11 11:40
Re: Listview Bilder Speichern2.211Manfred X12.11.11 11:51
Re: Listview Bilder Speichern2.180newbee_visual_b...12.11.11 12:15
Re: Listview Bilder Speichern2.131Manfred X12.11.11 12:45
Re: Listview Bilder Speichern2.119newbee_visual_b...12.11.11 13:52
Re: Listview Bilder Speichern2.228Manfred X12.11.11 14:18
Re: Listview Bilder Speichern2.419newbee_visual_b...13.11.11 10:56
Re: Listview Bilder Speichern2.214Manfred X13.11.11 13:58
Re: Listview Bilder Speichern2.124newbee_visual_b...13.11.11 19:49
Re: Listview Bilder Speichern2.167Manfred X14.11.11 05:32
Kleine Bildverwaltung2.499Manfred X14.11.11 08:21
Re: Kleine Bildverwaltung2.229newbee_visual_b...14.11.11 17:40
Re: Kleine Bildverwaltung2.285Manfred X14.11.11 18:03
Re: Kleine Bildverwaltung2.229newbee_visual_b...14.11.11 19:14
Re: Kleine Bildverwaltung2.252newbee_visual_b...14.11.11 19:32
Re: Kleine Bildverwaltung2.236Manfred X14.11.11 19:51
Re: Kleine Bildverwaltung2.165newbee_visual_b...14.11.11 19:59

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