Delphi-PRAXiS
Seite 4 von 10   « Erste     234 56     Letzte »    

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Sonstige Fragen zu Delphi (https://www.delphipraxis.net/19-sonstige-fragen-zu-delphi/)
-   -   Delphi Bildschirmlupe - Bereich unter Formular ermitteln (https://www.delphipraxis.net/126586-bildschirmlupe-bereich-unter-formular-ermitteln.html)

DeddyH 31. Dez 2008 15:36

Re: Bildschirmlupe - Bereich unter Formular ermitteln
 
Zitat:

Zitat von turboPASCAL
Ich bin ja schon auf der Fehler suche. Eine Lösung werde ich aber erst nächtes Jahr haben... :mrgreen:

So lange können wir nicht warten :mrgreen:

Garfield 31. Dez 2008 16:27

Re: Bildschirmlupe - Bereich unter Formular ermitteln
 
Kannst ja mitmachen.

Hier zwei Open Source Delphi Projekte zum ansehen:

http://onscrmagnifier.sourceforge.net/
http://www.come.to/magnifier

Ansonsten einen guten Rutsch ins neue Jahr.

Namenloser 31. Dez 2008 16:33

Re: Bildschirmlupe - Bereich unter Formular ermitteln
 
Zitat:

Zitat von Garfield
http://www.come.to/magnifier

Das ist ja cool. Arbeitet absolut flüssig und funzt auch unter Vista. Ich frag mich wie die das gemacht haben :gruebel:

Autsch, ich merk grad, die scheinen eifnach nen Screenshot zu machen. Die animierten Gifs im Borwser halten nämlich bei der Benutzung an.

Und das andere hat auch wieder "das Problem"

Garfield 31. Dez 2008 18:26

Re: Bildschirmlupe - Bereich unter Formular ermitteln
 
Zitat:

Zitat von NamenLozer
Ich frag mich wie die das gemacht haben :gruebel:

Einfach mal nachschauen.

Namenloser 31. Dez 2008 20:59

Re: Bildschirmlupe - Bereich unter Formular ermitteln
 
Zitat:

Zitat von Garfield
Zitat:

Zitat von NamenLozer
Ich frag mich wie die das gemacht haben :gruebel:

Einfach mal nachschauen.

Nicht nötig. Die machen einfach einen Screenshot, den sie dann vergrößern, wie gesagt.

Garfield 31. Dez 2008 21:13

Re: Bildschirmlupe - Bereich unter Formular ermitteln
 
Zitat:

Zitat von NamenLozer
Nicht nötig. Die machen einfach einen Screenshot, den sie dann vergrößern, wie gesagt.

Das macht mein Beispiel oben auch. Interessant ist die Aktualisierung des Bildes. turboPASCALs Magnifier wird nur aktualisiert, wenn das Formular bewegt wird. Mein Beispiel wird mittels Timer aktualisiert, was teilweise zum Selbstcapture oder zu leeren Bildern führt.

Namenloser 1. Jan 2009 00:12

Re: Bildschirmlupe - Bereich unter Formular ermitteln
 
Liste der Anhänge anzeigen (Anzahl: 1)
Zitat:

Zitat von Garfield
Zitat:

Zitat von NamenLozer
Nicht nötig. Die machen einfach einen Screenshot, den sie dann vergrößern, wie gesagt.

Das macht mein Beispiel oben auch. Interessant ist die Aktualisierung des Bildes. turboPASCALs Magnifier wird nur aktualisiert, wenn das Formular bewegt wird. Mein Beispiel wird mittels Timer aktualisiert, was teilweise zum Selbstcapture oder zu leeren Bildern führt.

Nein. Dein Beispiel macht permanent einen Screenshot und vergrößert sich deshalb selbst. Das verlinkte Tool macht nur beim Aufrufen der Lupe einen Screenshot, genauergesagt vor dem Aufrufen. Danach wird einfach ein fenster mit dem Screenshot StayOnTop gesetzt und eine Lupe drauf gemalt.

[Edit]
Ich hab mich von der Idee mit dem einmaligen Screenshot inspirieren lassen, und mich auch mal an einer Lupe versucht. Beim Start wird ein Screenshot gemacht, der in einem Buffer gespeichert wird. Wenn die Lupe bewegt wird, wird ein neuer Screenshot in einen zweiten Buffer gespeichert. Dann wird der Teil, der von der Lupe selbst verdeckt wird, von dem alten Buffer auf den neuen Buffer kopiert. Dann wird der neue Bufefr auf den alten Buffer und auf das Formular kopiert.

Der angezeigte Ausschnitt ist also einigermaßen aktuell, allerdings gibt es immer noch Probleme, wenn direkt unter der Lupe eine Animation ist... dann hat man eben wieder ein Standbild. Aber immer noch besser, als wenn der ganze Bildschirm stillsteht wie in dem verlinkten Programm.

Source+Exe sind im Anhang.
[/Edit]

[Edit]
Mit den Tasten + und - lässt sich der Zoomfaktor einstellen (von 1x bis 8x).
[/Edit]

Garfield 1. Jan 2009 08:32

Re: Bildschirmlupe - Bereich unter Formular ermitteln
 
Liste der Anhänge anzeigen (Anzahl: 1)
Zitat:

Zitat von NamenLozer
Nein. Dein Beispiel macht permanent einen Screenshot und vergrößert sich deshalb selbst.

Ganz so ist es nicht. Der Hintergrund des Formulars wird vor dem Screenshot transparent geschaltet und darin scheint das Problem zu bestehen.

Zitat:

Zitat von NamenLozer
Das verlinkte Tool macht nur beim Aufrufen der Lupe einen Screenshot, genauergesagt vor dem Aufrufen. Danach wird einfach ein fenster mit dem Screenshot StayOnTop gesetzt und eine Lupe drauf gemalt.

Solange sich nichts ändert ist das in Ordnung.

Zitat:

Zitat von NamenLozer
Ich hab mich von der Idee mit dem einmaligen Screenshot inspirieren lassen, ...

Mal anschauen.

Nachtrag: Scheint auch nicht das wahre zu sein (siehe Anhang).

Garfield 1. Jan 2009 09:08

Re: Bildschirmlupe - Bereich unter Formular ermitteln
 
Zitat:

Zitat von NamenLozer
Autsch, ich merk grad, die scheinen eifnach nen Screenshot zu machen. Die animierten Gifs im Borwser halten nämlich bei der Benutzung an.

Es gibt auch einen dynamischen Modus mit DDraw Overlay. Allerdings fehlt in der Source das entsprechende Plugin.

Ein Java-Programm: http://www.planet-source-code.com/vb...=4153&lngWId=2 - Aktualisiert sich auch nicht selbstständig.

Zitat:

Zitat von NamenLozer
Und das andere hat auch wieder "das Problem"

Funktioniert bei mir unter XP tadellos.

turboPASCAL 1. Jan 2009 10:16

Re: Bildschirmlupe - Bereich unter Formular ermitteln
 
Zitat:

Zitat von Garfield
turboPASCALs Magnifier wird nur aktualisiert, wenn das Formular bewegt wird.

Nein, auch wenn wenn man die die Lupe nicht bewegt wird diese aktualisiert. Es hann sich ja in der Zwischenzeti etwas im Hintergrund, also unter
der Lupe ändern.

Delphi-Quellcode:
procedure TfrmMagnifier.Timer1Timer(Sender: TObject);
begin
  if Timer1.Tag < 0 then exit; // if Error then exit

  UpdateMagnifier;
  _Invalidate;
end;
Sie funktioniert ja nur eben nicht zusammen mit Aero.




Zitat:

ganz so ist es nicht. Der Hintergrund des Formulars wird vor dem Screenshot transparent geschaltet und darin scheint das Problem zu bestehen.
Hui, das flackert schön. ;)

Zitat:

dem Screenshot transparent geschaltet und darin scheint das Problem zu bestehen.
Aber nicht vom gesamten Screen oder ? Das ist/wäre Resourcenverschwendung.


Alle Zeitangaben in WEZ +1. Es ist jetzt 21:32 Uhr.
Seite 4 von 10   « Erste     234 56     Letzte »    

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