Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Multimedia (https://www.delphipraxis.net/16-multimedia/)
-   -   Screenshot unter Linux (https://www.delphipraxis.net/132952-screenshot-unter-linux.html)

Teekeks 22. Apr 2009 16:33


Screenshot unter Linux
 
Hi!
Ich habe wiedereinmal ein Problem:
Ich würde gerne unter Linux(SUSE 9.1) ein Screenshot machen, weis aber nicht wie das gehen soll.
Könnt ihr mir Helfen?(bzw. tut ihr dies auch?)

gruß Teekeks

Andreas L. 22. Apr 2009 16:39

Re: Screenshot unter Linux
 
DRUCK-Taste drücken, Grafikprogramm öffnen, Einfügen wählen, Abspeichern. Unter manchen Distributionen (z. B. Ubuntu) geht beim druck auf DRUCK direkt ein Speichern-Fenster auf. Weiß nicht obs das auch unter Suse gibt.

Teekeks 22. Apr 2009 16:42

Re: Screenshot unter Linux
 
OK. Ich habs glaub ich falsch formuliert:
Wie kann ich per Code einen Screenshot machen? 8)

Andreas L. 22. Apr 2009 16:49

Re: Screenshot unter Linux
 
Zitat:

Zitat von Teekeks
OK. Ich habs glaub ich falsch formuliert:
Wie kann ich per Code einen Screenshot machen? 8)

Gibt unter Lazarus/Linux sicher auch das TScreen-Objekt, damit sollte es gehen. Ein Code-Schnippsel für Windows hab ich noch gefunden, vllt. kannst es irgendwie abwandeln:
Delphi-Quellcode:
procedure MakeScreenShot(const ATarget: TBitmap);
var
  DesktopDC: HDC;
begin
  DesktopDC := CreateDC('DISPLAY', nil, nil, nil);
  try
    ATarget.PixelFormat := pfDevice;
    ATarget.Width := Screen.Width;
    ATarget.Height := Screen.Height;
 
    BitBlt(ATarget.Canvas.Handle, 0, 0, Screen.Width, Screen.Height, DesktopDC, 0, 0, SRCCOPY);
  finally
    DeleteDC(DesktopDC);
  end;
end;

Teekeks 22. Apr 2009 16:59

Re: Screenshot unter Linux
 
Hmmm.
Ich kann CreateDC() nicht finden (ich vermute das gibts auch garnicht)...
Gibt es noch andere möglichkeiten?

Andreas L. 22. Apr 2009 18:09

Re: Screenshot unter Linux
 
Zitat:

Zitat von Teekeks
Hmmm.
Ich kann CreateDC() nicht finden (ich vermute das gibts auch garnicht)...
Gibt es noch andere möglichkeiten?

Schau doch mal die Eigenschaften und Funktionen von TScreen an. Z. B.
Delphi-Quellcode:
  Screen.DesktopRect

Teekeks 22. Apr 2009 18:16

Re: Screenshot unter Linux
 
Zitat:

Zitat von Andreas L.
Schau doch mal die Eigenschaften und Funktionen von TScreen an. Z. B.
Delphi-Quellcode:
  Screen.DesktopRect

Ich kann screen.DesktopRect nicht finden. Bei screen gibts nur (was mit Desktop beginnt) DesktopWidth und DesktopHeight.

Andreas L. 23. Apr 2009 12:18

Re: Screenshot unter Linux
 
Zitat:

Zitat von Teekeks
Zitat:

Zitat von Andreas L.
Schau doch mal die Eigenschaften und Funktionen von TScreen an. Z. B.
Delphi-Quellcode:
  Screen.DesktopRect

Ich kann screen.DesktopRect nicht finden. Bei screen gibts nur (was mit Desktop beginnt) DesktopWidth und DesktopHeight.

Vllt. gibts ein Canvas oder du kannst über die "Monitor"-Eigenschaft auf den Desktop zugreifen.

r2c2 23. Apr 2009 12:35

Re: Screenshot unter Linux
 
Einfachste Variante? Wie machst dus denn in nem Terminal? Und n Äquivalent zu ShellExecute wirds wohl geben...

mfg

CHristian

Teekeks 23. Apr 2009 15:38

Re: Screenshot unter Linux
 
Hi!
Cool!
Genau so ein gedanke fehlte mir.
Ich suche mal danach...

gruß Teekeks


Alle Zeitangaben in WEZ +1. Es ist jetzt 02:10 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