Screenshot verkleinern

  • VB.NET

Es gibt 7 Antworten in diesem Thema. Der letzte Beitrag () ist von Samus Aran.

    Screenshot verkleinern

    Hi,

    Mein Code
    Spoiler anzeigen

    VB.NET-Quellcode

    1. Public Function CaptureScreen() As Bitmap
    2. Dim b As New Bitmap(SystemInformation.VirtualScreen.Width, SystemInformation.VirtualScreen.Height)
    3. Dim g As Graphics = Graphics.FromImage(b)
    4. g.CopyFromScreen(0, 0, 0, 0, b.Size)
    5. g.Dispose()
    6. 'CreateScreenshot()
    7. Return b
    8. End Function
    9. Sub CreateScreenshot()
    10. Me.PictureBox1.Image = CaptureScreen()
    11. ' Public Sub JPEGCompression(ByVal Image As Image, ByVal OutPutFile As String, ByVal Qualitiy As Integer)
    12. Dim ImageCodecs() As ImageCodecInfo
    13. Dim ImageParameters As EncoderParameters
    14. ImageCodecs = ImageCodecInfo.GetImageEncoders()
    15. ImageParameters = New EncoderParameters(1)
    16. ImageParameters.Param(0) = New EncoderParameter(System.Drawing.Imaging.Encoder.Quality, 50)
    17. PictureBox1.Image.Save("C:\Bildverkleinert.jpeg", ImageCodecs(1), ImageParameters)
    18. ' End Sub
    19. End Sub

    Der Screenshot wird erstellt doch beim Verkleinern/komprimieren bekomme ich einen Allgemeinen Fehler in GDI +
    Woran liegt das?

    Greetz
    Rikudo
    C# Developer
    Learning C++
    dann setzt mal nen Haltepunkt auf Zeile 20 und schau nach ob etwas Nothing ist. Ansonsten ist für Screenshots das .png-Format zu empfehlen^^

    Edit: Der Code scheint zu funktionieren. Du hast aber keine Rechte um auf C:\ zu schreiben, darum der Fehler. Visual Studio (bzw die Application) so starten:



    dann sollte es klappen.
    Damit meine ich das:

    VB.NET-Quellcode

    1. Dim capture As Bitmap = CaptureScreen
    2. Dim toSave As New Bitmap(<neue Breite>,<neue Höhe>)
    3. Dim g As Graphics = Graphics.FromImage(toSave)
    4. g.DrawImage(capture,new Rectangle(0,0,toSave.Width,toSave.Height)
    5. g.Dispose
    6. toSave.Save("C:\Bildverkleinert.jpeg")