
 ' Ist kein Schüler mehr in der Kursliste, dann wird das Logo
     ' von EDUBUNTU ausgegeben, sofern es existiert
     If Not Exist("Bilder/edubuntu.png") Then
        imgSchueler.Visible = False
     Else
        imgSchueler.Picture = Picture["Bilder/edubuntu.png"] ' Projektordner
     Endif


++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

   ' Ist kein Schüler mehr in der Kursliste, dann wird das Logo von EDUBUNTU ausgegeben, sofern es existiert
     If Not Exist("Bilder/edubuntu.png") Then
        imgSchueler.Visible = False
     Else
        imgSchueler.Picture = Picture["Bilder/edubuntu.png"] ' Projektordner
     Endif


+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++


Private Function DateiFilter(Optional Alle As Boolean = False) As String[]
  
  Dim aBildfilterMatrix As New String[]
  
' Bilder im GIF-Format können u.U. nicht gespeichert werden! 
' Hängt von der Variante ab, wie QT kompiliert wurde!
  
  If Alle = True Then
     aBildfilterMatrix.Add("*.png *.jpeg *.jpg *.bmp *.gif *.xpm")
     aBildfilterMatrix.Add("Bild-Typ")
  Endif
  aBildfilterMatrix.Add("*.png")
  aBildfilterMatrix.Add("Portable Network Graphics")
  aBildfilterMatrix.Add("*.jpeg; *.jpg")
  aBildfilterMatrix.Add("Joint Photographic Experts Group")
  aBildfilterMatrix.Add("*.bmp")
  aBildfilterMatrix.Add("Windows Bitmap")
  aBildfilterMatrix.Add("*.gif")
  aBildfilterMatrix.Add("Graphics Interchange Format")
  aBildfilterMatrix.Add("*.xpm")
  aBildfilterMatrix.Add("X PixMap")
  If Alle = True Then
     aBildfilterMatrix.Add("*")
     aBildfilterMatrix.Add("Alle Dateien")
  Endif
  
  Return aBildfilterMatrix
  
End ' DateiFilter erzeugen

' try something like
' Dialog.Filter = ["*.jpg; *.jpeg", ("JPEG files"), "*.jpg;*.jpeg;*.png;*.bmp",("All picture files")] 

'------------------------------------------------------------------------------

Public Sub btnFotoSpeichern_Click()
  Dim foto As New Picture
  Dim imgBild1 As Image
  Dim fBildformat, iSkalierungsfaktor As Float ' <--- Querformat oder Hochformat
  Dim picBild1 As Picture  '  <--- Wird das genutzt?
  Dim iBildbreite, iBildhoehe As Integer
  
  Dialog.Filter = DateiFilter(True)   ' <------  das noch einmal prüfen ...
  Dialog.Path = User.Home
  Dialog.Title = "Wählen Sie ein Schüler-Bild aus!"

  If Dialog.OpenFile() Then Return
  Try imgBild1 = Image.Load(Dialog.Path)
  
  fBildformat = imgBild1.Width / imgBild1.Height
  
  If fBildformat <= 1 Then
     iSkalierungsfaktor = imgBild1.Width / 120
     iBildbreite = 120 ' <--- absoluter Wert in Pixeln
     iBildhoehe = Round(imgBild1.Height / iSkalierungsfaktor, 0) ' <--- relativer Wert, aber auch in Pixeln!
     ' Syntax: Stretch(Weite, Höhe, [ Glättung(ja/nein) ] ) 
     imgBild1 = imgBild1.Stretch(iBildbreite, iBildhoehe)
     ' Das geänderte Bild wird ohne Dialog gespeichert und überschreibt u.U. ein vorhandenes Bild mit gleichem Namen!
     Try imgBild1.Save(sDatenbank &/ "Kursbilder" &/ Lower(txtVorname.Text) & "-" & Lower(txtNachname.Text) & ".png")
     If Error Then Message.Error("Fehler: " & Error.Text & Chr(10) & "  Fehlerquelle: " & Error.Where)
  Else
     Message.Warning("Das Bild liegt NICHT im Hochformat vor!\nWählen Sie ein anderes Schülerbild aus.")
     Return
  Endif

  btnDatensatzKontrolleUndInDatenbankArraySpeichern_Click()
  
End ' FotoSpeichern

Public Sub btnPasswortGenerieren_Click()
  FPasswortGenerator.ShowModal
End

'------------------------------------------------------------------------------
