1. Dashboard
  2. Forum
    1. Unerledigte Themen
  3. Mitglieder
    1. Letzte Aktivitäten
    2. Benutzer online
    3. Team-Mitglieder
    4. Trophäen
    5. Mitgliedersuche
  4. Tutorial Bereich
  • Anmelden
  • Registrieren
  • Suche
Dieses Thema
  • Alles
  • Dieses Thema
  • Dieses Forum
  • Seiten
  • Forum
  • Lexikon
  • Erweiterte Suche
  1. Informatik Forum
  2. Webmaster & Internet
  3. Entwicklung

#WinApi# Fensterinhalt als Bitmap speichern

  • Oswald
  • 7. Mai 2005 um 10:28
  • Unerledigt
  • Oswald
    3
    Oswald
    Mitglied
    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
    37
    Wolfibolfi
    Mitglied
    Reaktionen
    186
    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.

    In einen FBO rendern ist wie eine Schachtel Pralinen - man weiß nie, was man kriegt.

  • Oswald
    3
    Oswald
    Mitglied
    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
    37
    Wolfibolfi
    Mitglied
    Reaktionen
    186
    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.

    In einen FBO rendern ist wie eine Schachtel Pralinen - man weiß nie, was man kriegt.

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

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

    lg, Benjamin Ferrari, bookworm.at

  • Maximilian Rupp 27. Dezember 2024 um 12:06

    Hat das Thema aus dem Forum Programmieren nach Entwicklung verschoben.

Jetzt mitmachen!

Sie haben noch kein Benutzerkonto auf unserer Seite? Registrieren Sie sich kostenlos und nehmen Sie an unserer Community teil!

Benutzerkonto erstellen Anmelden

Rechtliches

Impressum

Datenschutzerklärung