1. Weiterleitung zu NetzLiving.de
  2. Forum
    1. Unerledigte Themen
  3. zum neuen Forum
  • Anmelden
  • Suche
Dieses Thema
  • Alles
  • Dieses Thema
  • Dieses Forum
  • Seiten
  • Forum
  • Erweiterte Suche
  1. Informatik Forum
  2. Webmaster & Internet
  3. Entwicklung

#WinApi# Fensterinhalt als Bitmap speichern

  • Oswald
  • 7. Mai 2005 um 10:28
  • Unerledigt
Hallo zusammen,

das Informatik-Forum geht in den Archivmodus, genaue Informationen kann man der entsprechenden Ankündigung entnehmen. Als Dankeschön für die Treue bekommt man von uns einen Gutscheincode (informatikforum30) womit man bei netzliving.de 30% auf das erste Jahr sparen kann. (Genaue Infos sind ebenfalls in der Ankündigung)

Vielen Dank für die Treue und das Verständnis!
  • Oswald
    Punkte
    60
    Beiträge
    11
    • 7. Mai 2005 um 10:28
    • #1

    Hi,

    ich bräuchte ein tutorial oder code beispiel wie ich aus meinem aktuellen fensterinhalt eine bitmap erstellen kann, hab leider noch nichts brauchbares im google gefunden.
    thx

    mfg oswald

  • Wolfibolfi
    Punkte
    14.936
    Beiträge
    2.942
    • 7. Mai 2005 um 10:58
    • #2

    Nachdem keine Sprache dasteht (vermutlich C++?), post ich mal meine Delphi Lösung, die ich gschwind hingeklescht hab, mich hats nämlich auch interessiert.

    Code
    var dc:THandle;
        dcwidth,dcheight:integer;
        bm:TBitmap;
        copypos:TPoint;
    begin
      bm:=TBitmap.Create;
      bm.Width:=clientwidth;
      bm.Height:=clientheight;
    
    
    
    
      dc:=CreateDC('DISPLAY',nil,nil,nil);
      dcwidth:=screen.width;
      dcheight:=screen.height;
    
    
      copypos:=clienttoscreen(Point(0,0));
    
    
      bitblt(bm.Canvas.Handle,0,0,clientwidth,clientheight,dc,copypos.x,copypos.Y,SRCCOPY);
      bm.SaveToFile('C:\sack.bmp');
    
    
    
    
      bm.free;
    end;
    Alles anzeigen

    In C++ wirds halt mit dem Bitmap-Handling und den Koordinaten (ClientToScreen) anders laufen, die Winapi Sachen sollten aber gleich sein. Also Devicecontext erzeugen, und mit bitblt rauskopiern.
    Meine Lösung kopiert nur den Inhalt des Fensters, ohne Titelzeile, mit Titelzeile is es aber noch leichter.

  • Oswald
    Punkte
    60
    Beiträge
    11
    • 7. Mai 2005 um 11:04
    • #3

    hi,

    hab vorher nen edit vom meinem ersten post gemacht und kategorie c/c++ eingestellt, habs zuerst leider vergessen zum hinschreiben, delphi kann ich leider nicht aber ich werd mir dein beispiel mal anschaun und versuchen umzucoden.

    thx

    mfg oswald

  • Wolfibolfi
    Punkte
    14.936
    Beiträge
    2.942
    • 7. Mai 2005 um 11:07
    • #4

    is eh nur die CreateDC zeile und dann das bitblt, den Rest wirst in C++ scho zambringen. das dcwidth is da übrigens schon unnötig, weil ichs dann doch ausgeschnitten hab.

  • a9bejo
    Punkte
    4.697
    Beiträge
    913
    • 7. Mai 2005 um 11:58
    • #5

    posting wieder gelöscht..........

  • Maximilian Rupp 27. Dezember 2024 um 12:06

    Hat das Thema aus dem Forum Programmieren nach Entwicklung verschoben.

  1. Datenschutzerklärung
  2. Impressum