none
Bildschirminhalt speichern RRS feed

  • Frage

  • Hi Leute.
    Ich weiß nicht ob es geht, aber ich möchte, dass mein Programm den Bildschirminhalt in einer Datei speichert ( wie wenn ich auf der Tastatur auf "Druck" drücke ). Wenn ich auf "Druck" drücke, wird ein Bild ja in der Zwichenablage gespeichert. So ein Bild soll mein Programm machen und es dann speichern. Ich hab nicht sehr viel Ahnung mit Visual Basic ( 2008 Express Edition ) also bitte nicht so viel Wissen vorraussetzen.
    Danke schonmal für eure Hilfe.
    Samstag, 5. Juli 2008 19:02

Alle Antworten

  • ich kanns dir für 2005 sagen, abba wird ja nich all zu groß sein der unterschied

           
    Code Snippet

    My.Computer.Keyboard.SendKeys("{PRTSC}") 
    PictureBox1.Image = My.Computer.Clipboard.GetImage
    PictureBox1.Image.Save("C:\b.bmp")


    in zeile 1 wird der tastendruck simuliert
    in z2 wird das bild in die gbenötigte pucturebox geladen
    in z3 wird das bild aus der PBox gespeichert (Pfads noch ändern)

    Sonntag, 6. Juli 2008 11:53
  • Erstmal Danke für die schnelle Hilfe.
    Aber so ganz funktioniert das noch nicht. Wenn ich mein Programm ausführe, meldet VB immer einen Fehler in der Zeile
    PictureBox1.Image.Save ("C:\b.bmp") . Es kommt dann der Fehler:  Der Objektverweis wurde nicht auf eine Objektinstanz festgelegt. Was heißt das und wie kann ich das Problem lösen?
    Sonntag, 6. Juli 2008 15:03
  • Entweder hat die Picurebox keinen Wert oder die Imageeigenschaft.
    Montag, 7. Juli 2008 11:45
  • Ok und wie kann ich die Werte ändern??
    Montag, 7. Juli 2008 12:49
  • Du kannst auch diesen Code probieren:

     

    Code Snippet

    Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click

     

    Dim bmp As New Bitmap(Me.Width, Me.Height, Imaging.PixelFormat.Format32bppArgb)

    Dim gr As Graphics = Graphics.FromImage(bmp)

    gr.CopyFromScreen(Me.Left, Me.Top, 0, 0, Me.Size, CopyPixelOperation.SourceCopy)

     

    Me.PictureBox1.Image = bmp

    Me.PictureBox1.Image.Save("C:\Users\Alessio\Pictures\b.bmp")

    End Sub

     

    Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load

    Me.PictureBox1.BorderStyle = BorderStyle.FixedSingle

    Me.PictureBox1.SizeMode = PictureBoxSizeMode.StretchImage

    End Sub

     

     

     

    Dienstag, 8. Juli 2008 07:14
  • Wenn ich den Code nehme, kommt auch ein Fehler:


    Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
           

            Dim bmp As New Bitmap(Me.Width, Me.Height, Imaging.PixelFormat.Format32bppArgb)

            Dim gr As Graphics = Graphics.FromImage(bmp)

            gr.CopyFromScreen(Me.Left, Me.Top, 0, 0, Me.Size, CopyPixelOperation.SourceCopy)



            Me.PictureBox1.Image = bmp

            Me.PictureBox1.Image.Save("C:\b.bmp")

    End Sub



    Allgemeiner Fehler in der GDI+

    Freitag, 18. Juli 2008 10:12
  • Probier mal den folgenden Code (getestet unter Vista Home Premium mit SP1 + Visual Basic 2008 Express, Visual-Basic Express IDE mit Administratorrechte gestartet)



    REM Diese Zeile
    REM         Me.PictureBox1.Image.Save("C:\b.bmp")

    REM ändern in
    Me.PictureBox1.Image.Save("C:\\b.bmp")

     

    Kompletter Code von Form1:

     

    Public Class Form1

    Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click

    Dim bmp As New Bitmap(Me.Width, Me.Height, Imaging.PixelFormat.Format32bppArgb)

    Dim gr As Graphics = Graphics.FromImage(bmp)

    gr.CopyFromScreen(Me.Left, Me.Top, 0, 0, Me.Size, CopyPixelOperation.SourceCopy)

     

     

    Me.PictureBox1.Image = bmp

    Me.PictureBox1.Image.Save("C:\\b.bmp")

     

    End Sub

    Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load

    Me.PictureBox1.BorderStyle = BorderStyle.FixedSingle

    Me.PictureBox1.SizeMode = PictureBoxSizeMode.StretchImage

     

    End Sub

    End Class

     

    bearhugs

     

     

    Samstag, 9. August 2008 01:19
  • es kommt wieder der Fehler : Allgemeiner Fehler in der GDI+.
    Me.PictureBox1.Image.Save("C:\\b.bmp")
    Montag, 11. August 2008 18:09
  • Man stellt besser sicher, dass die Tastaturbefehle ausgeführt wurden:

    My.Computer.Keyboard.SendKeys("{PRTSC}", True)

    sonst enthält die Zwischenablage ggf. keine Image-Daten (Prüfung mit Clipboard.ContainsImage).
    Mittwoch, 13. August 2008 12:13
  • hat nix geholfen.
    versucht das doch mal bei euch selbst.
    Mittwoch, 13. August 2008 13:56