-
Forum: Multimedia
Delphi
by gasty,
18. Dez 2009
7,91 MB sinds und ich hab ne Auflösung von 1920x1080 :P
-
Forum: Multimedia
Delphi
by gasty,
18. Dez 2009
Ok, ich gebe zu, jetzt bin ich verwirrt.
Ich habe nichts verändert, aber jetzt klappt alles so wie ich will, kann ins Tray setzen und dann mit Druck einen jpg Screenshot machen. :mrgreen:
Naja auf jeden Fall danke an alle für die Hilfe ! :dp:
-
Forum: Multimedia
Delphi
by gasty,
18. Dez 2009
Wenn ich es so mache, gibt es wieder einen Zugriffsverletzungs-Error (sofern ich ein Bild im Clipboard habe, also klappt das mit dem rausspringen schonmal)
if not Clipboard.HasFormat(CF_BITMAP) then
exit
else
try
Bitmap := TBitmap.Create;
JPEGImage := TJPEGImage.Create;
Bitmap.Assign(ClipBoard);
//JPEGImage.Assign(Bitmap);
...
-
Forum: Multimedia
Delphi
by gasty,
18. Dez 2009
Nun, wenn ich das in den Timer schreibe, macht er jede Sekunde eine Datei, die aber 0 Byte ist, und keinen Screenshot beinhaltet (selbst wenn ich Druck gedrückt habe).
Daraus schließen sich 2 Probleme: 1. Ich will auch einen Screenshot in der Datei (logisch :D) und 2. Ich möchte mit dem Timer ja "überprüfen" ob ein Bild im Clipboard ist, und wenn nicht, einfach nichts tun.
Mein Code sieht jetzt...
-
Forum: Multimedia
Delphi
by gasty,
18. Dez 2009
Hm ok, das mit den Hooks hab ich mir mal angeschaut, sieht nicht wirklich so einfach aus :/
Aber das mit der Zwischenablage ist wirklich ne gute Idee, nur leider scheitert es wieder an der Umsetzung :x
Im Moment bin ich so weit:
Clipboard.Open;
try
if not Clipboard.HasFormat(CF_BITMAP) then
exit;
Bitmap := TBitmap.Create;
JPEGImage := TJPEGImage.Create;
...
-
Forum: Multimedia
Delphi
by gasty,
18. Dez 2009
Danke es klappt :D
So nun ein weiteres Problem:
Ich hab das Programm nun soweit, dass es sich in die Tray Leiste setzt und unsichtbar wird (Hab die Komponente "CoolTrayIcon" und setze Form.Visible auf false).
Nun klappt das mit dem Screenshot aber nicht, wenn das Programm nicht im Fokus ist.
-
Forum: Multimedia
Delphi
by gasty,
17. Dez 2009
Ok, das ist jetz komisch... Die Druck taste spuckt keinen Wert aus oO
Dann nehm ich eben Rollen, das ist die 145.
Muss ich die dann noch in Word umwandeln, wenn in den numerischen Wert nehmen will im KeyDown?
Weil KeyPress funktioniert ja nicht richtig.
Und sorry nochmal für die doofen Fragen aber hab lange nichts mehr geschrieben in Delphi :P
KeyPreview hab ich im FormCreate auf true...
-
Forum: Multimedia
Delphi
by gasty,
17. Dez 2009
Ok, danke, das mit jpg klappt jetzt auch.
Nur immernoch das Problem mit dem Key.
Habs jetzt mal in ein KeyDown geschrieben, aber gleicher Effekt. (Btw. Welche Taste ist denn DRUCK? VK_PRINT oder VK_SNAPSHOT? Hab zwar beide probiert und keine klappt, aber würds mal gerne eindeutig wissen, irgendwie stehen immer diese beiden da)
procedure TForm1.FormKeyDown(Sender: TObject; var Key: Word;
...
-
Forum: Multimedia
Delphi
by gasty,
17. Dez 2009
*Omg*
Stimmt ja :D
Danke, jetzt klappt das auch.
Das Problem mit dem nicht erkannten KeyPress besteht jedoch weiterhin :/
Und gibt es einen Weg, die Datei gleich in eine jpeg umzuwandeln, da ~7mb pro Screen dann doch etwas viel sind?
-
Forum: Multimedia
Delphi
by gasty,
17. Dez 2009
Kann denn keiner helfen? :(
Also der Error kommt in Zeile Bitmap.SaveToFile(aFileName+'.bmp');
Also denke ich, dass es etwas mit dem Datum zu tun hat, dass er das nicht umsetzen kann. ScreenToFile(DateToStr(now)+'_'+TimeToStr(now));
Und das mit dem KeyPress verstehe ich nicht, wieso er das nicht erkennt, ist bestimmt ein dummer Fehler von mir nur leider findet man die einfachsten Sachen...
-
Forum: Multimedia
Delphi
by gasty,
16. Dez 2009
Hi,
also ich habe nun versucht, ein Programm zu schreiben, welches die Tasten überwacht, und wenn man Druck drückt, einen Screenshot macht, ihn mit Datum und Zeit deklariert und abspeichert.
In der Theorie klappt das auch einwandfrei, doch leider in der Praxis nicht...
Hier mal mein Code:
procedure ScreenToFile(aFileName: string);
var
Bitmap: TBitmap;
Canvas: TCanvas;
begin
Canvas...