Ergebnis 1 bis 3 von 3
  1. #1
    Neuling
    Registriert seit
    07.05.2009
    Beiträge
    2

    Standard screencapture von 32bit auf 16bit?

    hi

    hab mir n Überwachungstool gecoded mit eingebauter Capurefunktion wobei das Pic auf nen ftp geladen wird.

    Beim Screencapture funtioniert auch alles super, das uploaden auch, nur wenn die Auflösung den Monitors zu hoch ist (zb 1280x1024) dauert es echt lange bis das Bild aufm FTP is ....

    Jetzt wollt ich von euch wissen wie ich das ändern kann, hab mir überlegt die Bitgröße von 32 auf 16 zu ändern, dadurch würd die Qualli vom Pic schlechter werden aber auch weniger MB, hab aber keinen Plan wieß gehen soll???

    Oder habt ihr ne bessere Idee wie ich das Bild vorm upload verkleinern kann?

    hier mal mein code:

    Code:
    Try
    
    
                Dim Pic As New Bitmap(My.Computer.Screen.Bounds.Width, My.Computer.Screen.Bounds.Height)
                Dim g As Graphics = Graphics.FromImage(Pic)
                g.CopyFromScreen(0, 0, 0, 0, Pic.Size)
                PictureBox1.Image = Pic
                PictureBox1.Image.Save(My.Computer.FileSystem.SpecialDirectories.Temp & "\pic.bmp")
                My.Computer.Network.UploadFile(My.Computer.FileSystem.SpecialDirectories.Temp & "\pic.bmp", "ftp://......")
    
            Catch ex As Exception
    
                Application.DoEvents()
    
                Dim client As New Net.WebClient
                client.Credentials = New Net.NetworkCredential("user", "pw")
                client.UploadString("ftp://....)
    
    
              
    
    
    
    
            End Try
    
          
    
    
        End Sub

  2. #2
    db
    Registriert seit
    07.06.2009
    Beiträge
    585

    Standard

    Benutz einfach mal folgendes, denn Bilder vom JPG-Format sind kleiner als BMP-Dateien.
    Convert Bitmap to Another Image Format (VB.NET)


  3. #3
    Neuling
    Registriert seit
    07.05.2009
    Beiträge
    2

    Standard

    erstmal danke für deine Antwort ... aber in jpg umwandeln is nich so gut, jpg is ca. 50% größer als bmp .... aber wenn ichs in gif format umwandel könnte es klappen!

    ich teste das mal und meld mich dann wider



    edit: habs hinbekommen... hier der code falls jemand brauch:

    Code:
    Imports System.Drawing.Imaging
    Module Funktionen
    Sub Screenshot_Test2()
            Dim rect As Rectangle = Screen.AllScreens(0).Bounds
            Dim ici() As ImageCodecInfo = ImageCodecInfo.GetImageEncoders()
            Dim ep As New EncoderParameters(1)
     
            
     
            ep.Param(0) = New EncoderParameter(Encoder.Quality, 25) '25% Qualität
     
            Using bmp As Bitmap = New Bitmap(rect.Width, rect.Height), g As  _
            Graphics = Graphics.FromImage(bmp)
                g.CopyFromScreen(0, 0, 0, 0, bmp.Size)
                bmp.Save(Application.StartupPath & "\Screenshot.jpg", ici(1), ep)
            End Using
     
        End Sub
    End Module
    Geändert von Bloober (06.05.2010 um 18:21 Uhr)

Stichworte

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •