Guten Abend! Und danke für dieses schöne Forum. Ich schreibe jetzt seit einer Woche VB-Code und habe unendlich viele Tipps hier gefunden. Nun zu meinem Problem:
Ich habe ein Programm geschrieben, dass mir Bilder in einer ListView zusammen mit einigen Details der Bilder auflistet. Die Details (Stichwörter, Bewertung) können im Programm geändert werden.
Die Bilder werden als SmallImageList während der Laufzeit eingebunden. Hierbei habe ich das folgende Problem:
Da es Fotos sind, haben die ein anderes Seitenverhältnis als 1:1. Gibt es eine Möglichkeit, das Seitenverhältnis der einzelnen Bilder (kann unterschiedlich sein) in der Liste beizubehalten? Bisher werden alle Bilder quadratisch angezeigt.
Ich habe ein Programm geschrieben, dass mir Bilder in einer ListView zusammen mit einigen Details der Bilder auflistet. Die Details (Stichwörter, Bewertung) können im Programm geändert werden.
Die Bilder werden als SmallImageList während der Laufzeit eingebunden. Hierbei habe ich das folgende Problem:
Da es Fotos sind, haben die ein anderes Seitenverhältnis als 1:1. Gibt es eine Möglichkeit, das Seitenverhältnis der einzelnen Bilder (kann unterschiedlich sein) in der Liste beizubehalten? Bisher werden alle Bilder quadratisch angezeigt.
Quellcode
- Private Sub Fill_ListView()
- Dim lstv As New ListViewItem
- Dim Filename As String = System.IO.Path.GetFileName(pfad)
- Dim ShellIcon As New ShellThumbnail.ShellThumbnail
- Dim ShellBitmap As Bitmap = ShellIcon.GetThumbnail(pfad)
- ImageList1.Images.Add(picnr, ShellBitmap)
- ListView1.SmallImageList = ImageList1
- Exiv2VB.StartInfo.FileName = "exiv2.exe"
- Exiv2VB.StartInfo.Arguments = " -Pt -g Xmp.dc.subject -g Iptc.Application2.Keywords " + AZ + pfad + AZ
- Exiv2VB.StartInfo.RedirectStandardOutput = True
- Exiv2VB.StartInfo.UseShellExecute = False
- Exiv2VB.StartInfo.CreateNoWindow = True
- Exiv2VB.Start()
- Dim ParseResultKey As String = Exiv2VB.StandardOutput.ReadToEnd
- Exiv2VB.StartInfo.Arguments = " -Pt -g Xmp.xmp.Rating " + AZ + pfad + AZ
- Exiv2VB.StartInfo.RedirectStandardOutput = True
- Exiv2VB.StartInfo.UseShellExecute = False
- Exiv2VB.StartInfo.CreateNoWindow = True
- Exiv2VB.Start()
- Dim ParseResultStar As String = Exiv2VB.StandardOutput.ReadToEnd
- Dim sPath As String = IO.Path.GetDirectoryName(pfad)
- Dim SPD As String
- If My.Computer.FileSystem.FileExists(sPath + "\SILKYPIX_DS\" + Filename + ".4.spd") Then
- SPD = "entwickelt"
- Else : SPD = "nicht entwickelt"
- End If
- Dim item As New ListViewItem
- item.Text = Filename
- item.Tag = pfad
- item.ImageKey = picnr
- With ListView1.Items.Add(item)
- .SubItems.Add(ParseResultKey)
- .SubItems.Add(ParseResultStar)
- .SubItems.Add(SPD)
- End With
- picnr = picnr + 1
- args &= arg & " "
- ExifToolVB.Close()
- End Sub