vb@rchiv
VB Classic
VB.NET
ADO.NET
VBA
C#
Erstellen von dynamischen Kontextmen?s - wann immer Sie sie brauchen!  
 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: Picturebox.save Fehler in der GDI+ 
Autor: Volker Bunge
Datum: 26.06.13 18:49

Hallo Manfred,

vielen Dank erst einmal für die Antwort.

Habe nun das mit Deinem Link einmal ausprobiert und es klappt soweit auch alles.

Was mir aufgefallen ist, dass die abgespeicherte Datei jetzt bei 95 % kleiner ist als die Originale und bei 100% größer ist.

Desweiteren sind die EXIF-Informationen (hier speziell das Aufnahmedatum und das Kameramodell bzw. die Kamera) weg.

Aufgrund dieser fehlenden Informationen meine naive Frage: Gibt es denn keine einfache Möglichkeit ein JPG Bild zu drehen (90 Grad Schritte) und dieses dann einfach so neu unter dem gleichen Namen abzuspeichern?

Hier nun einmal mein Code

Sub Bild_drehen(ByVal z As Integer, ByVal Richtung As String)
 
        ' Stream-Objekt erstellen und Datei zum Lesen öffnen
        Dim oStream As New System.IO.FileStream(Verzeichnis.Text & _
          Dateiname.Text, IO.FileMode.Open)
 
        ' Bitmap-Objekt mit den Daten aus dem Stream füllen
        PictureBox1.Image = New Bitmap(oStream)
 
        ' Stream-Objekt und somit auch die Datei schließen
        oStream.Close()
 
        ' PictureBox1.Image = Image.FromFile(Verzeichnis.Text & Dateiname.Text)
        ' Drehen
        Select Case Richtung
            Case "UZS"
                'PictureBox1.Image.RotateFlip(RotateFlipType.Rotate90FlipNone)
                ' Abrufen der aktuellen Bitmap
                Dim myBitmap = DirectCast(Me.PictureBox1.Image, Bitmap)
                ' Drehen
                myBitmap.RotateFlip(RotateFlipType.Rotate90FlipNone)
                '        PictureBox1.Refresh()
            Case "GUZS"
                'PictureBox1.Image.RotateFlip(RotateFlipType.Rotate270FlipNone)
                ' Abrufen der aktuellen Bitmap
                Dim myBitmap = DirectCast(Me.PictureBox1.Image, Bitmap)
                ' Drehen
                myBitmap.RotateFlip(RotateFlipType.Rotate270FlipNone)
                '       PictureBox1.Refresh()
        End Select
        Threading.Thread.Sleep(100)
        PictureBox1.Refresh()
        'PictureBox1.Invalidate()
 
        ' Abspeichern des Originalbildes in der aktuellen Drehlage
        'PictureBox1.Image.Save(Verzeichnis.Text & Dateiname.Text, 
        ' System.Drawing.Imaging.ImageFormat.Jpeg)
 
 
        ' ergänzendes Beispiel für das Speichern eines
        ' JPG-Bildes mit vorgegebener Qualitätsstufe
        ' sinnvolle Qualitäten liegen im Bereich 50 <-> 95
        Dim lQuality As Integer = 95
 
        Dim EncoderParameters As New Drawing.Imaging.EncoderParameters(1)
 
        EncoderParameters.Param(0) = New Drawing.Imaging.EncoderParameter( _
          Drawing.Imaging.Encoder.Quality, CType(lQuality, Int32))
 
        ' Speicherbefehl:
        PictureBox1.Image.Save(Verzeichnis.Text & Dateiname.Text, EncoderInfo( _
          "JPEG"), EncoderParameters)
 
    End Sub
Vielen Dank

Volker
alle Nachrichten anzeigenGesamtübersicht  |  Zum Thema  |  Suchen

 ThemaViews  AutorDatum
Picturebox.save Fehler in der GDI+3.832Volker Bunge23.06.13 11:56
Re: Picturebox.save Fehler in der GDI+2.591ModeratorDaveS23.06.13 13:48
Re: Picturebox.save Fehler in der GDI+2.717Volker Bunge24.06.13 08:50
Re: Picturebox.save Fehler in der GDI+2.588Manfred X24.06.13 09:07
Re: Picturebox.save Fehler in der GDI+2.708Volker Bunge24.06.13 13:28
Re: Picturebox.save Fehler in der GDI+2.732Volker Bunge24.06.13 21:06
Re: Picturebox.save Fehler in der GDI+2.559Manfred X24.06.13 22:45
Re: Picturebox.save Fehler in der GDI+2.779Volker Bunge26.06.13 18:49
Re: Picturebox.save Fehler in der GDI+2.590Manfred X27.06.13 14:30

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