AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Sprachen und Entwicklungsumgebungen Sonstige Fragen zu Delphi Delphi Einen bestimmten Bereich des Bildschirm speichern
Thema durchsuchen
Ansicht
Themen-Optionen

Einen bestimmten Bereich des Bildschirm speichern

Ein Thema von LingNeu · begonnen am 15. Jan 2007 · letzter Beitrag vom 16. Jan 2007
Antwort Antwort
Seite 2 von 2     12   
LingNeu

Registriert seit: 18. Dez 2006
164 Beiträge
 
Delphi 7 Enterprise
 
#11

Re: Einen bestimmten Bereich des Bildschirm speichern

  Alt 16. Jan 2007, 12:59
@marabu,
anbei der Code und die Bilder
Danke LingNeu
Miniaturansicht angehängter Grafiken
demo_446.jpg   all_335.jpg  
Angehängte Dateien
Dateityp: rar dbs_133.rar (7,8 KB, 3x aufgerufen)
Wenn man denkt, dann denkt man nur, das man denkt!
  Mit Zitat antworten Zitat
marabu

Registriert seit: 6. Apr 2005
10.109 Beiträge
 
#12

Re: Einen bestimmten Bereich des Bildschirm speichern

  Alt 16. Jan 2007, 13:10
Welchen Bildausschnitt willst du denn? Was soll auf diesem Ausschnitt zu sehen sein?
  Mit Zitat antworten Zitat
LingNeu

Registriert seit: 18. Dez 2006
164 Beiträge
 
Delphi 7 Enterprise
 
#13

Re: Einen bestimmten Bereich des Bildschirm speichern

  Alt 16. Jan 2007, 13:15
@marabu,
am Besten wäre natürlich eine flexible Auswahl.
Am Anfang würde mir schon genügen, wenn ich z.B. den 1.Button und das 1.Editfenster auswählen könnte.
Ich möchte später die Anfangskoordinaten setzen (2 Edit) und dann noch die Grösse des Ausschnitts (2 Edit, Höhe+Breite)
Gruss
LingNeu
Wenn man denkt, dann denkt man nur, das man denkt!
  Mit Zitat antworten Zitat
marabu

Registriert seit: 6. Apr 2005
10.109 Beiträge
 
#14

Re: Einen bestimmten Bereich des Bildschirm speichern

  Alt 16. Jan 2007, 13:25
Ich habe in deinem Code den Click-Handler von Button7 ersetzt:

Delphi-Quellcode:
procedure TForm1.Button7Click(Sender: TObject);
var
  bm: TBitmap;
  r: TRect;
begin
  bm := BitmapFromWinControl(self);
  UnionRect(r, Button1.BoundsRect, Edit1.BoundsRect);
  // InflateRect(r, 4, 4);
  with BitmapFromBitmap(bm, r) do
  begin
    SaveToFile('Demo.bmp');
    Free;
  end;
  bm.Free;
end;
Damit legst du im Code fest, dass der Ausschnitt Button1 und Edit1 enthalten soll. InflateRect() bläst den Ausschnitt um 4 Pixel rundherum auf - damit es nicht so gedrängt aussieht. Auch ein interaktiver Ansatz ist machbar, indem du auf Form-Ebene ein Fokus-Rechteck aufziehst und darüber den Ausschnitt definierst.

Freundliche Grüße
  Mit Zitat antworten Zitat
Blackheart

Registriert seit: 4. Mai 2005
846 Beiträge
 
Delphi 7 Enterprise
 
#15

Re: Einen bestimmten Bereich des Bildschirm speichern

  Alt 16. Jan 2007, 13:27
Warum alles so kompliziert, mach einen screeshot vom gesammten Fenster
und kopiere deinen Ausschnitt.

Delphi-Quellcode:
procedure TForm1.Button1Click(Sender: TObject);
var
  WinDC,MemDC : hDC;
  Desktop : hBitmap;
  zx,zy,zx1,zy1 : integer;
  bmp : TBitmap;
begin
  zx := 100;
  zy := 100;
  zx1:= 100;
  zy1:= 100;
  WinDC := GetDC (GetDeskTopWindow); {Bildschirmkontext holen}
  MemDC := CreateCompatibleDC (WinDC); {Kompatiblen Kontext erstellen}
  Desktop := CreateCompatibleBitmap (WinDC, zx, zy); {Bitmaphandle machen}
  SelectObject (MemDC, Desktop); {selektieren}
  BitBlt (MemDC, 0, 0, zx, zy, WinDC, zx1, zy1, SRCCOPY); {kopieren}
  DeleteDC (MemDC); {und wech damit}
  ReleaseDC (GetDeskTopWindow, WinDC); {diesen auch}
  bmp := TBitmap.Create;
  try
    bmp.Handle := Desktop;
    Image1.Picture.Bitmap.Assign(bmp);
  finally
    FreeAndNil(bmp);
  end;
end;
Blackheart
  Mit Zitat antworten Zitat
LingNeu

Registriert seit: 18. Dez 2006
164 Beiträge
 
Delphi 7 Enterprise
 
#16

Re: Einen bestimmten Bereich des Bildschirm speichern

  Alt 16. Jan 2007, 13:44
@Blackheart
@marabu

da habt ihr mir sehr gut weitergeholfen - Besten Dank
Jetzt hab ich was zu tun

Gruss
LingNeu
Wenn man denkt, dann denkt man nur, das man denkt!
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 2 von 2     12   


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 23:04 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz