Screenshot



  • Hallo,

    bittet die VCL ein funktion mit der man Screenshots machen kann und z.b als jpg speichert? Oder hat jemand eine andere idee wie man das machen könnte?

    gruß

    23



  • schonmal in die FAQ geschaut 🙄



  • dir gehört ganz doll auf die finger geklopft. schau einfach mal in die FAQ!



  • tut mir echt leid, habe es nun gefunden. Leider habe ich damit ein kleines Problem.

    Da ich ja das Bild so zeiche :

    Image1->Canvas->CopyRect(Dest, canvas, Source); //Bild zeichnen.
    

    wird das leider nur so groß wie mein Image1 groß ist und nicht wie das Fenster.

    jemand eine idee ?



  • Hallo

    Canvas::StrechDraw

    bis bald
    akari



  • akari schrieb:

    Hallo

    Canvas::StrechDraw

    bis bald
    akari

    hallo akari,

    danke für dei hilfe leider bekomme ich jetzt kein Bild mehr.

    ich mache das nun so:

    TCanvas* canvas = new TCanvas();    //Canvas stellt ein TCanvas-Objekt bereit, damit das Bitmap gezeichnet werden kann
        canvas->Handle = GetWindowDC(Form1->Handle);  // Postition des Fensteres ermitteln.
    
        TRect Dest   = Image1->ClientRect;  // Ermitteln der größe (in pixel) des Fensters
        TRect MyRect;
        GetWindowRect(Form1->Handle, (LPRECT)&MyRect);
        MyRect = Rect(0, 0, MyRect.Right - MyRect.Left, MyRect.Bottom - MyRect.Top);
    Canvas->StretchDraw(MyRect,Image1->Picture->Bitmap);
    

    23



  • Dann schau dir den FAQ-Eintrag nochmal an. Das hier

    Canvas->StretchDraw(MyRect,Image1->Picture->Bitmap);
    

    ist genau falschrum. Hiermit versuchst du auf dein Image auf den Screen zu zeichnen.



  • Braunstein schrieb:

    Dann schau dir den FAQ-Eintrag nochmal an. Das hier

    Canvas->StretchDraw(MyRect,Image1->Picture->Bitmap);
    

    ist genau falschrum. Hiermit versuchst du auf dein Image auf den Screen zu zeichnen.

    Genau, mein Problem liegt darin, dass ich noch kein Bild gezeichnet habe.
    Und StretchDraw erwartet ja als zweites Parameter ein gezeichnetes Bild oder?



  • keiner ne idee wie man das ganze Ohne TImage Element lösen könnte ?



  • Wenn du dem neu erzeugten Canvas das Handle des Screens zuweist, liegt darin der Screenshot. Diese Informationen mußt du noch mit StretchDraw auf dein Image übertragen und das dann speichern. Das steht doch aber auch genau so in dem FAQ-Beitrag.
    Bezüglich jpeg gibt es ebenfalls einen FAQ-Beitrag.


Anmelden zum Antworten