tutorials.de Buch-Aktion 05/2012
ERLEDIGT
JA
ANTWORTEN
8
ZUGRIFFE
671
EMPFEHLEN
  • An Twitter übertragen
  • An Facebook übertragen
AUF DIESES THEMA
ANTWORTEN
  1. #1
    hbrauchl hbrauchl ist offline Mitglied Silber
    Registriert seit
    Apr 2005
    Beiträge
    72
    Hallo Zusammen!

    Ist es möglich von einem Bereich eines erzeugten Fensters in Laufzeit
    einen Screenshot zu machen?

    Habe nämlich folgendes Problem:
    Ich zeichne auf einer PictureBox Grafiken und setze meinen Text in
    Form von Text-Labels.

    Möchte nun ein Bild von diesem Bereich haben (jedoch mit Text).
    Ohne wäre es ja kein Problem (Pichture.Image).

    Oder gibt es die Möglichkeit die Text-Labels in Grafik zu konvertieren?

    Vielen Dank im voraus.

    LG,
    Hans
     

  2. #2
    Avatar von Orakel
    Orakel Orakel ist offline Mitglied Brokat
    Registriert seit
    Aug 2004
    Beiträge
    472
    Hi hbrauchl,

    da könnte Dir folgender Thread behilflich sein: http://www.tutorials.de/tutorials208505.html .

    Gruß
    Das Orakel
     
    Code :
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    
                      \\\\|////
                      \\ _ _ //
                       ( o o )
    ================oOOo-(_)-oOOo==================
    [COLOR=blue]    The next time you think you are perfect,
               try walking on water[/COLOR]
    ========================Oooo===================
                      oooO  (  )
                      (  )  ) /
                       \ ( (_/
                        \_)
    Vorsicht dieser Link ist bissig :)

  3. #3
    hbrauchl hbrauchl ist offline Mitglied Silber
    Registriert seit
    Apr 2005
    Beiträge
    72
    Danke für den Tipp, jedoch hat das bei mir leider überhaupt nicht funktioniert.
    Es kam immer ein leeres Blatt.

    Weiß jemand noch eine andere Möglichkeit?
    Speziell für Pictureboxen?

    Danke im voraus.


    LG,
    Hans
     

  4. #4
    Avatar von Orakel
    Orakel Orakel ist offline Mitglied Brokat
    Registriert seit
    Aug 2004
    Beiträge
    472
    Hi,

    haste das Teil auch richtig angepasst? Weil bei mir ****elt das Problemlos.

    Code :
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    
    Private Declare Function StretchBlt Lib "gdi32" ( _
        ByVal hdc As Long, _
        ByVal x As Long, _
        ByVal y As Long, _
        ByVal nWidth As Long, _
        ByVal nHeight As Long, _
        ByVal hSrcDC As Long, _
        ByVal xSrc As Long, _
        ByVal ySrc As Long, _
        ByVal nSrcWidth As Long, _
        ByVal nSrcHeight As Long, _
        ByVal dwRop As Long) As Long
        
    Private Sub Command2_Click()
        Printer.Print
        Call StretchBlt(Printer.hdc, 100, 100, Picture1.ScaleWidth, Picture1.ScaleHeight, _
                        Picture1.hdc, 0, 0, Picture1.ScaleWidth, Picture1.ScaleHeight, _
                        vbSrcCopy)
        Printer.EndDoc
    End Sub

    Gruß
    Das Orakel
     
    Code :
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    
                      \\\\|////
                      \\ _ _ //
                       ( o o )
    ================oOOo-(_)-oOOo==================
    [COLOR=blue]    The next time you think you are perfect,
               try walking on water[/COLOR]
    ========================Oooo===================
                      oooO  (  )
                      (  )  ) /
                       \ ( (_/
                        \_)
    Vorsicht dieser Link ist bissig :)

  5. #5
    hbrauchl hbrauchl ist offline Mitglied Silber
    Registriert seit
    Apr 2005
    Beiträge
    72
    Hi!

    Vielen Dank für Deine Antwort.

    Jedoch habe ich nachwievor das Problem, daß meine Textlabels nicht gedruckt
    werden (der Rest vom Bild natürlich schon).

    Hast Du eine Ahnung was da falsch sein könnte?

    Danke nochmals im voraus.

    LG,
    Hans
     

  6. #6
    Avatar von Orakel
    Orakel Orakel ist offline Mitglied Brokat
    Registriert seit
    Aug 2004
    Beiträge
    472
    Hi

    hmmm ein Orakel und Ahnung haben. Höchstens Vorahnungen

    Ich bin fast geneigt den absoluten Unspruch loszuwerden ("Das kann doch gar nicht sein"). Bevor ich das tue, prüfe mal, ob die ScaleMode-Eigenschaft auf Pixels und HasDC auf True sitzt.

    Gruß
    Das Orakel
     
    Code :
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    
                      \\\\|////
                      \\ _ _ //
                       ( o o )
    ================oOOo-(_)-oOOo==================
    [COLOR=blue]    The next time you think you are perfect,
               try walking on water[/COLOR]
    ========================Oooo===================
                      oooO  (  )
                      (  )  ) /
                       \ ( (_/
                        \_)
    Vorsicht dieser Link ist bissig :)

  7. #7
    hbrauchl hbrauchl ist offline Mitglied Silber
    Registriert seit
    Apr 2005
    Beiträge
    72
    Hi!

    Ich habe mal ein neues Projekt aufgemacht und das ganze mal extra
    getestet.
    Interessanterweise funktioniert es da.

    Übernehme ich das nun 1:1 in mein Programm, funktioniert es nicht.
    Habe auch den Scalemode noch extra gesetzt. HasDc lässt sich nicht in
    Laufzeit setzen (ist aber beim Start auf True).

    Soll ich Dir das Programm event. schicken?

    LG,
    Hans
     

  8. #8
    hbrauchl hbrauchl ist offline Mitglied Silber
    Registriert seit
    Apr 2005
    Beiträge
    72
    Hi!

    Habe den Fehler leider nicht gefunden.

    Ich möchte noch gerne das ganze als Bild speichern (JPG, BMP, usw.) und
    nicht drucken.
    Wie kann ich das machen?

    Vielen Dank nochmals.

    LG,
    Hans
     

  9. #9
    Avatar von Orakel
    Orakel Orakel ist offline Mitglied Brokat
    Registriert seit
    Aug 2004
    Beiträge
    472
    Hi zusammen,

    für die, die es Interessiert:

    Das Problem lag an der AutoRedraw Eigenschaft vom Picture Control. War auf True gesetzt. Für diesen Fall muss es auf False sitzen.

    Gruß
    Das Orakel
     
    Code :
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    
                      \\\\|////
                      \\ _ _ //
                       ( o o )
    ================oOOo-(_)-oOOo==================
    [COLOR=blue]    The next time you think you are perfect,
               try walking on water[/COLOR]
    ========================Oooo===================
                      oooO  (  )
                      (  )  ) /
                       \ ( (_/
                        \_)
    Vorsicht dieser Link ist bissig :)

Ähnliche Themen

  1. [VB2008] Screenshot eines PCs im Netzwerk
    Von DrSoong im Forum .NET Windows Forms
    Antworten: 1
    Letzter Beitrag: 12.03.10, 10:30
  2. Screenshot eines anderen Programm / anderer Form
    Von String im Forum .NET Windows Forms
    Antworten: 0
    Letzter Beitrag: 03.11.08, 17:16
  3. Screenshot erstellen und hochladen
    Von Blizzark im Forum C/C++
    Antworten: 1
    Letzter Beitrag: 07.10.07, 13:57
  4. Screenshot eines MFC CDialog erstellen
    Von JoachimJogi im Forum VisualStudio & MFC
    Antworten: 2
    Letzter Beitrag: 24.06.07, 01:05
  5. Webseiten Screenshot erstellen
    Von my-azur im Forum PHP
    Antworten: 2
    Letzter Beitrag: 07.02.07, 15:04