Einzelnen Beitrag anzeigen

Namenloser

Registriert seit: 7. Jun 2006
Ort: Karlsruhe
3.724 Beiträge
 
FreePascal / Lazarus
 
#37

Re: Bildschirmlupe - Bereich unter Formular ermitteln

  Alt 1. Jan 2009, 00:12
Zitat von Garfield:
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]
Angehängte Dateien
Dateityp: zip magnifier_191.zip (209,7 KB, 33x aufgerufen)
  Mit Zitat antworten Zitat