Delphi-PRAXiS
Seite 1 von 2  1 2      

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Software-Projekte der Mitglieder (https://www.delphipraxis.net/26-software-projekte-der-mitglieder/)
-   -   rzMagnifier - Bildschirmlupe+Colorpicker, Version 1.3 (https://www.delphipraxis.net/116116-rzmagnifier-bildschirmlupe-colorpicker-version-1-3-a.html)

taaktaak 23. Jun 2008 21:38


rzMagnifier - Bildschirmlupe+Colorpicker, Version 1.3
 
Liste der Anhänge anzeigen (Anzahl: 2)
Moin, Moin.

Nachdem mein erstes hier veröffentlichtes Programm "rzNotes" leider überhaupt kein Interesse gefunden hat, möchte ich nun ein weiteres Programm vorstellen, welches vielleicht etwas mehr Beachtung finden wird: Es handelt sich um die Kombination von Bildschirmlupe und ColorPicker angereichert um einige zusätzliche Funktionalitäten. Da das Programm seine "ersten Gehversuche" als Bildschirmlupe gemacht hat, habe ich es rzMagnifier genannt.

Entstehungsgeschichte und Kurzüberblick
Seit einiger Zeit benutze ich den ColorManager von Christian Lukas; dieses Programm ist als Freeware veröffentlicht. Der ColorManager ist ein Tool zur Bestimmung der Farbwerte einzelner auf dem Bildschirm angezeigter Pixel. Damit dies ausreichend genau erfolgen kann, wird der zu untersuchende Bildausschnitt im Programmfenster vergrößert dargestellt. Nutzt man das Programm zu eben diesem Zweck, dann erfüllt es nach meiner Einschätzung seine Aufgabe auch einwandfrei.

Nun musste ich aber beobachten, dass ich den ColorManager seltener startete um einen Farbwert zu bestimmen, als vielmehr um einen Bildschirmausschnitt vergrößert betrachten zu können. Delphi bietet zwar mit der Ausrichtungspalette bereits recht gute Möglichkeiten einzelne Objekte auf dem Form auszurichten, trotzdem habe ich häufiger den Bedarf Ausrichtungen und Abstände zu kontrollieren und ggf. anzupassen. Für diese Anforderung ist der ColorManager nicht entwickelt und weniger gut geeignet: Das Zoomfenster ist zu klein und es gibt z.B. keine Hilfslinien, die als frei bewegliche Lineale verwendet werden können. Nun gut, dachte ich, dann schau doch mal, was an Bildschirmlupen als Freeware angeboten wird. Ich gebe es zu, lange habe ich nicht gesucht, aber so recht überzeugt haben mich die gefundenen Programme alle nicht.

Inzwischen war dann auch der Gedanke entstanden, es selbst einmal zu versuchen und beides, also Farbwertbestimmung und Lupenfunktion, in einem Programm zu vereinen und alles an meinen persönlichen Bedürfnissen auszurichten. Bereits in der Anfangsphase der Programmierung drängte sich dann eine dritte Funktionalität geradezu auf: Extrahieren, Bearbeiten und Archivieren von Bitmaps.

Zunächst war geplant, als Ersatz für den nicht komfortablen Bildeditor von Delphi eine Eigenlösung zu schreiben und diese um eine zusätzliche Icon-Datenbank zu erweitern. Nachdem ich aber ein recht passables Programm im Internet gefunden habe, das beide Funktionalitäten bereits bietet und zudem recht kostengünstig ist, wurde dieser Gedanke (vorerst) aufgegeben. Stattdessen wurde die Möglichkeit geschaffen, direkt aus rzMagnifier derartige Programme aufzurufen und einen markierten Bitmap-Ausschnitt direkt an ein externes Programm zu übergeben.

Das für ein derartiges Tool relativ große Programmfenster führt allerdings zu einer gewissen Einschränkung: Für Computer mit kleinem Monitor (z.B. Notebooks) ist rzMagnifier weniger gut geeignet; die Vorteile des Programms nutzt man vor allem auf großen Monitoren bzw. Systemen mit mehreren Monitoren!

Systemanforderungen
Das Programm ist auf einem Windows XP System programmiert und seit einiger Zeit auf einem Notebook Athlon XP, 1 GB RAM (Windows XP Home, SP2) und einer Bildschirmauflösung von 1024x768 sowie einem PC mit Athlon 64x2, 2 GB RAM (Windows XP Media Center Edition, SP2) und 2 Monitoren mit Auflösungen von 1400x1050 problemlos in Betrieb. Minimalanforderungen sind nicht bekannt; das Programm sollte aber auch auf älteren Systemen grundsätzlich lauffähig sein. Da Alphablending in früheren Windowsversionen nicht zur Verfügung steht, kann die sichtbare Bildschirmlupe nur in Windows 2000 und neueren Versionen des Betriebssystems verwendet werden. Ein kurzer Test unter Windows 2000 verlief ohne Probleme. Unter Vista konnte das Programm von mir nicht getestet werden, laut Angabe eines Anwenders ist rzMagnifier auch unter VISTA einsetzbar.

Installation
Eine Installation des Programms ist nicht erforderlich. Um rzMagnifier benutzen zu können, muss vom Anwender im Normalfall lediglich ein Programmverzeichnis an beliebigem Ort angelegt und die gelieferten Dateien in dieses Verzeichnis kopiert werden. Bei Bedarf ist eine Programmverknüpfung anzulegen - weitere Schritte sind nicht erforderlich. Im Programmverzeichnis benötigt das Programm volle Schreibrechte, da hier auch Initialisierungsdaten gespeichert werden. Hat das Programm auf dieses Verzeichnis keinen Schreibzugriff, wird vom Programm alternativ unterhalb des Verzeichnis "APPDATA" ein Datenverzeichnis angelegt und alle Daten dort gespeichert. Weitergehende Informationen finden sich in der Hilfedatei.

Quelltext
Der Quelltext wird an dieser Stelle vorerst nicht zum anonymen Zugriff veröffentlicht. Das hat mehrere Gründe. Hauptgrund ist, dass ich damit leider schlechte Erfahrungen gemacht habe. Ein weiterer Grund ist, dass, obwohl alle Funktionalitäten nach meinen Tests bereits sichergestellt sind, an zentraler Stelle noch "nachgearbeitet" werden muss. Wer Interesse hat, möge mich bitte persönlich ansprechen.

Hilfetext
Obwohl dieses Tool in erster Linie für den Eigengebrauch programmiert ist, habe ich einen aus meiner Sicht recht umfangreichen Hilfetext erstellt. In erster Linie wollte ich einmal testen, welchen Arbeitsumfang die Erstellung einer Hilfe macht. Außerdem war es interessant festzustellen, dass Programmieren und Hilfetexterstellung eine Reihe von Interaktionen auslösten, d.h. während der Formulierung der Hilfe wurden Widersprüche und Mängel der Programmlogik offenbar, die mir vermutlich sonst nicht aufgefallen wären.

Tja, das sollte an dieser Stelle erst einmal genug sein! Zum Download werden ein Screenshot sowie die Programm- und Hilfedatei bereitgestellt.

// edit 24.06.2008
Reaktion auf Hinweis von "extrem": Programm reagiert nun auf Windows-Versionen < Win2000. Alle Alphablend-Funktionalitäten werden ggf. automatisch deaktiviert. Neue Version des Programms und der Hilfedatei bereitgestellt.

// edit 24.06.2008 - 2
Sorry! Das war heute morgen ein wenig zu schnell. Durch die Anpassung hatte sich ein kleiner Fehler eingeschlichen (sichtbare Bildschirmlupe on/off). Hier jetzt die korrigierte Version.

// edit 30.07.2008
Version 1.1 - Zusätzliche optionale Abfrage vor Beenden des Programms, Anpassung der Konfiguration und Hilfedatei, Korrektur von Textfehlern in INFO und HILFE

// edit 09.08.2008
Version 1.2 - Fehlerkorrekturen und Erweiterungen, Details siehe hier

// edit 09.11.2008
Version 1.3 - Fehlerkorrekturen und Erweiterungen, Details siehe hier

lbccaleb 23. Jun 2008 22:02

Re: rzMagnifier - Bildschirmlupe+Colorpicker
 
moin,

also ich weiß zwar nicht wie gut bzw schlecht dein anderes programm war, das es keine resonanz dazu gegeben hat, aber ich muss sagen dieses programm ist top, lässt sich gut verwenden in verbindung mit photoshop und der erstellung von websites....

fehler sind mir in der ersten nutzung nicht aufgefallen....

extrem 23. Jun 2008 22:47

Re: rzMagnifier - Bildschirmlupe+Colorpicker
 
Da bin ich ganz deiner Meinung. :thumb:

Unter Windows 98 kann man das Programm zwar ausführen, aber es ist keine Transparenz bei der Lupe vorhanden, daher werden die Farben falsch angezeigt. Ohne Lupe jedoch werden die Farben richtig erkannt.

Unter Vista lief es auch ohne Probleme.

taaktaak 24. Jun 2008 09:52

Re: rzMagnifier - Bildschirmlupe+Colorpicker
 
Moin, Moin.

Vielen Dank für die ersten Tests. Habe die Anmerkung von "extrem" aufgegriffen: Alle Alphablendfunktionalitäten werden jetzt automatisch deaktiviert, wenn ein Betriebssystem < Windows 2000 erkannt wird.

Programm- und Hilfedatei wurden aktualisiert.

extrem 24. Jun 2008 11:26

Re: rzMagnifier - Bildschirmlupe+Colorpicker
 
Zitat:

Zitat von taaktaak
Habe die Anmerkung von "extrem" aufgegriffen: Alle Alphablendfunktionalitäten werden jetzt automatisch deaktiviert, wenn ein Betriebssystem < Windows 2000 erkannt wird.

OK, mit der neuen Version wird Alphablend dann deaktiviert.

taaktaak 24. Jun 2008 23:02

Re: rzMagnifier - Bildschirmlupe+Colorpicker
 
Sorry, in der Anpassung hat sich heute morgen ein dummer Fehler eingeschlichen: Die sichtbare Lupe wurde nicht korrekt durch den Toolbutton Ein-/Ausgeschaltet.

Ab sofort steht die korrigierte Version zur Verfügung.

littleDave 24. Jun 2008 23:15

Re: rzMagnifier - Bildschirmlupe+Colorpicker
 
Mir ist gerade noch ein kleiner Fehler aufgefallen:
Wenn man die "Lupe" bzw. das Trasparente Fenster deaktiviert hat, kann man ja die Lupe nur mit den Knopf im Programm beenden. Wenn ich mit der Maus mit aktivierter Lupe ins Programm gehe, wird die ComboBox mit der Zoomstärke deaktiviert. Wenn ich jetzt die Lupenfunktion schließe, bleibt die ComboBox deaktiviert.
Glaub nicht, dass das so gewollt ist, oder?

Hoffe du kannst es bei dir nachvollziehen

Grüße
Dave

taaktaak 25. Jun 2008 08:09

Re: rzMagnifier - Bildschirmlupe+Colorpicker
 
Moin Dave.

Vielen Dank für das Feedback :hi:

zu 1) Der Scan kann alternativ in allen Fällen mit der Leertaste gestartet und beendet werden, solange die Anwendung den Focus hat. Es gibt noch eine Reihe anderer Tastaturbefehle, die Hilfe gibt hierüber nähere Auskunft.

zu 2) Ja, das kann ich nachvollziehen; ist ein Mangel der beseitigt werden muss. Der Fehler tritt auf, wenn der Scancursor zum Zeitpunkt des Scanbeendigung auf dem Anwendungsfenster positioniert ist - diese Konstellation hatte ich augenscheinlich leider nicht getestet.

Mit sind jetzt noch einige weiter versteckte Unzulänglichkeiten aufgefallen, die allerdings die grundsätzliche Funktionsfähigkeit nicht berühren. Um nicht wie gestern ein übereiltes (und fehlerhaftes) Update auf den Markt zu bringen, werden die notwendigen Anpassungen zunächste einmal ausgiebig getestet. Die neue Version kommt dann am Wochenende.

rollstuhlfahrer 26. Jun 2008 22:39

Re: rzMagnifier - Bildschirmlupe+Colorpicker
 
Noch ein kleiner Hinweis: Es wäre sinnvoll, den Screenshot nicht zu zippen

Bernhard

taaktaak 28. Jun 2008 18:28

Re: rzMagnifier - Bildschirmlupe+Colorpicker
 
Moin, Moin,

die Dateien im ersten Post wurden aktualisiert. Seltsamerweise ist es mir aber nicht gelungen den Text zu ergänzen (ist dessen Länge limitiert?). Nun, hineinschreiben wollte ich folgendes:

Programm und Hilfedatei in aktueller Version. Alle genannten Punkte sollten damit korrigiert sein. In der Hilfedatei wurde ein versteckter Fehler korrigiert. Der Screenshot ist jetzt als JPG verfügbar. Da inzwischen ein paar DP-Mitglieder das Programm heruntergeladen haben und noch keine weiteren Kommentare abgegeben wurden, werde ich dieses Mini-Projekt erst einmal beiseite legen und mich einer anderen Sache widmen. Offenbar sind keine groben Schnitzer enthalten.

taaktaak 30. Jul 2008 09:43

Re: rzMagnifier - Bildschirmlupe+Colorpicker
 
Moin, Moin.

Das Programm rzMagnifier wird in aktueller Version 1.1 zum Download bereitgestellt. Neuerungen/Korrekturen sind:
  • Zusätzliche optionale Abfrage vor Beendigung des Programms. Nachdem ich selbst mehrmals statt des Minimize-Buttons unbeabsichtigt den Close-Button angeklickt hatte, soll mit dieser Abfrage ermöglicht werden, das Programm ggf. doch noch zu minimieren. Wer immer zielsicher mit der Maus ist, kann diese Abfrage selbstverständlich in der Konfiguration deaktivieren.
  • Anpassung der Konfiguration und der Hilfe.
  • Korrektur mehrerer fehlerhafter Texte in INFO und HILFE.
Zusatz:
Der rzMagnifier bietet die Möglichkeit, direkt aus der Toolbar einen externen BitmapEditor sowie ein externes BitmapArchiv aufzurufen. Mittlerweile habe ich mich entschlossen, ein BitmapArchiv selbst zu programmieren. Dieses Programm (vorläufiger Name: rzBitmapArchive) soll in absehbarer Zeit ebenfalls hier im Forum veröffentlicht werden. Mitglieder, die Bedarf und Interesse an einem derartigen Programm haben, können mir per PN gewünschte Funktionalitäten aufgeben (bitte nicht in diesem Thread posten). Ich würde dann versuchen diese Anregungen zu berücksichtigen.

:hi:

toms 31. Jul 2008 05:36

Re: rzMagnifier - Bildschirmlupe+Colorpicker
 
Hallo

- Wenn ein anderes Fenster OnTop ist, wird das Scan-Rechteck nicht oberhalb angezeigt.
- Wenn dein Fenster während des Scan Vorgangs den Fokus verliert, kann er per Space nicht beendet werden.

taaktaak 31. Jul 2008 07:09

Re: rzMagnifier - Bildschirmlupe+Colorpicker
 
Moin, Moin,
vielen Dank für deinen Hinweis. Kann beide Eigenarten nachvollziehen. Werde mich kurzfristig damit beschäftigen :hi:

juergen 31. Jul 2008 18:08

Re: rzMagnifier - Bildschirmlupe+Colorpicker
 
Hallo taaktaak ,

ein großes Lob, mir gefällt dein Programm sehr gut, auch die nette Art der Präsentation. :thumb:

4 Verbesserungsvorschläge hätte ich auch:
1.) oben in der Menüleiste noch einen Button für "fsStayOnTop" (im Vordergrund). Oft benötigt man so eine Art von Programm im Vordergrund, wenn man z.B. mehrere Werte nacheinander benötigt.
2.) sehr gut ist auch die transparente Lenzanzeige an der Maus, richtig cool wäre es aber, wenn der eingestellte Lenz-Alpha-Farbwert von der Auswahl dann auch abgerechnet wird, so dass der echte Farbwert an der Maus angezeigt wird
3.) ich persönlich würde unter "Configuration" bei dem Button "save Configuration" das Fenster nicht schließen. Zum Schließen wäre ja schon ein Button da.
4.) in meinem Alter musste ich im Info-Fenster 3x den gesamten Text durchlaufen lassen, um ihn in seiner ganzen Eimheit erfassen zu können (ich geb's wenigstens zu :zwinker: ). Vllt.etwas langsamer?

Wie gesagt, ansonsten top!

extrem 31. Jul 2008 19:23

Re: rzMagnifier - Bildschirmlupe+Colorpicker
 
Zitat:

Zitat von taaktaak
Habe die Anmerkung von "extrem" aufgegriffen: Alle Alphablendfunktionalitäten werden jetzt automatisch deaktiviert, wenn ein Betriebssystem < Windows 2000 erkannt wird.

Hallo

Bei der einen Version wurde es zwar so abgeändert, aber jetzt ist leider wieder alles beim Alten. :(

Zitat:

Zitat von juergen
4.) in meinem Alter musste ich im Info-Fenster 3x den gesamten Text durchlaufen lassen, um ihn in seiner ganzen Eimheit erfassen zu können (ich geb's wenigstens zu :zwinker: ). Vllt.etwas langsamer?

Am Alter kann es wohl auch nicht liegen, denn wie kommt es dann, dass der viel ältere taaktaak den Text lesen konnte? :wink:

Fussball-Robby 31. Jul 2008 20:50

Re: rzMagnifier - Bildschirmlupe+Colorpicker
 
Zitat:

Zitat von juergen
4.) in meinem Alter musste ich im Info-Fenster 3x den gesamten Text durchlaufen lassen, um ihn in seiner ganzen Eimheit erfassen zu können (ich geb's wenigstens zu :zwinker: ). Vllt.etwas langsamer?

Wenn du mit der Maus auf den Text gehst, erscheint da ein Hint: "Click on quotation to start/stop turn around" - Sollte wohl selbsterklärend sein :wink:

Ich finde das Programm auch ganz praktisch und vor allem leicht zu bedienen :thumb:
Nur einen Verbesserungsvorschlag habe ich noch: Auf dem Bild im Programm finde ich das Zoomen etwas umständlich bzw. nicht einfach genug. Wenn ich einen bestimmten Abschnitt vergrößert haben möchte, muss ich diesen erst in die Mitte ziehen, dann zoomen, wenn ich daneben bin oder zu weit gezoomt habe, muss ich alles nochmal machen usw... Besser fände ich es, wenn man zusätzlich die Möglichkeit hätte, mit der Maus ein Rechteck zu ziehen, welches dann automatisch vergrößert wird.

Mfg

juergen 31. Jul 2008 21:57

Re: rzMagnifier - Bildschirmlupe+Colorpicker
 
Zitat:

Zitat von Fussball-Robby
Wenn du mit der Maus auf den Text gehst, erscheint da ein Hint: "Click on quotation to start/stop turn around" - Sollte wohl selbsterklärend sein :wink:

Oh, auf die Idee mit der Maus mal drauf zu gehen bin ich erst gar nicht gekommen. :oops:
Danke für den Hinweis.

taaktaak 1. Aug 2008 07:25

Re: rzMagnifier - Bildschirmlupe+Colorpicker
 
Moin, Moin.
Vielen Dank für die Lobesworte und die zusätzlichen Hinweise. Am Wochenende soll es ja endlich wieder kühler werden, dann findet sich wohl Zeit die einzelnen Punkte in Ruhe zu bearbeiten. Es freut mich, wenn mein kleines Tool mit eurer Hilfe nach und nach noch optimiert werden kann. Auch wenn ich derzeit das neue Projekt "rzBitmapArchiv" primär bearbeite, sollten die meisten Anregungen kurzfristig umzusetzbar sein. :hi:

@juergen: Folgende Formulierung ist mir noch nicht verständlich
Zitat:

2.) sehr gut ist auch die transparente Lenzanzeige an der Maus, richtig cool wäre es aber, wenn der eingestellte Lenz-Alpha-Farbwert von der Auswahl dann auch abgerechnet wird, so dass der echte Farbwert an der Maus angezeigt wird
- Wie ist das gemeint?

juergen 1. Aug 2008 17:39

Re: rzMagnifier - Bildschirmlupe+Colorpicker
 
Liste der Anhänge anzeigen (Anzahl: 1)
Zitat:

Zitat von taaktaak
- Wie ist das gemeint?

Wenn man die Linse aktiviert hat, wird bei mir an der Maus ein rosa Quadrat angezeigt.
Somit sieht man wo man sich mit der Maus befindet...
Es wird dann aber dieser rosa Farbton gespeichert, anstelle der tatsächlichen Farbe unter der Linse (in meinem Beispiel ein grauer Hintergrund).
Habe mal ein laienhaftes Bild angefügt.

Ps.: ausgeführt unter VISTA 64 Bit, SP1.

lbccaleb 1. Aug 2008 19:35

Re: rzMagnifier - Bildschirmlupe+Colorpicker
 
Wenn du das nicht möchtest, musst du den 2 Button deaktivieren...

juergen 1. Aug 2008 21:10

Re: rzMagnifier - Bildschirmlupe+Colorpicker
 
Es wäre halt zu klären wie es funktionieren soll.
Wozu wird das Quadrat angezeigt?
Ich habe nun angenommen, dass man durch dieses Quadrat den Lupenausschnitt direkt an der Maus sieht und nicht im Programmfenster schauen muss.
Klar, deaktivieren kann man es jeder Zeit, aber man sieht dann nicht den Ausschnitt an der Maus.

xZise 1. Aug 2008 22:51

Re: rzMagnifier - Bildschirmlupe+Colorpicker
 
Zitat:

Zitat von juergen
Zitat:

Zitat von taaktaak
- Wie ist das gemeint?

Wenn man die Linse aktiviert hat, wird bei mir an der Maus ein rosa Quadrat angezeigt.
Somit sieht man wo man sich mit der Maus befindet...
Es wird dann aber dieser rosa Farbton gespeichert, anstelle der tatsächlichen Farbe unter der Linse (in meinem Beispiel ein grauer Hintergrund).
Habe mal ein laienhaftes Bild angefügt.

Ps.: ausgeführt unter VISTA 64 Bit, SP1.

Identisches System (bis auf das ich es über eine VM laufen habe) aber hier funktioniert alles wie gewünscht.

MfG
xZise

taaktaak 2. Aug 2008 20:24

Re: rzMagnifier - Bildschirmlupe+Colorpicker
 
Moin, Moin Jürgen.

Den von dir beschriebenen Fehler, dass die Linsenfarbe unter VISTA in das Anzeigefenster übernommen wird konnte ich auf dem Notebook meiner Frau nachvollziehen.

So soll es natürlich nicht sein: Die (per Popup konfigurierbare) Farbe der Linse) dient lediglich der Markierung, welcher Bereich gerade eingescannt wird. Normalerweise (unter XP und Win2000) wird auch nur der tatsächliche Hintergrund übernommen. Irritiert bin ich allerdings, dass andere Forenmitglieder aussagen, dass es bei ihnen unter VISTA funktioniert. Ich habe einen Verdacht: Meine Frau hat so leicht durchscheinende Fenster (???-Effekt) liegt es vielleicht daran? Kenne mich aber mit VISTA überhaupt nicht aus, konnte diesen Effekt also nicht einmal deaktivieren :oops:

Würdest du das bitte mal prüfen, indem du diesen Effekt vorübergehend deaktivierst.

Wenn dieser Effekt die Ursache sein sollte, habe ich aber immer noch das Problem z.Zt. nicht unter VISTA entwickeln zu können - für diesen Fehler kann ich wohl keine kurzfristige Abhilfe in Aussicht stellen.

Aber vielleicht findet sich ein anderes Forenmitglied, dass hier eine konkrete Hilfestellung geben kann. Ggf. könnte mein Program während des Scanvorgangs diesen Effekt vorübergehend deaktivieren und bei Beendigung des Scans wieder anschalten?!

Alle anderen Punkte sind in Arbeit!

juergen 2. Aug 2008 20:38

Re: rzMagnifier - Bildschirmlupe+Colorpicker
 
Hallo taaktaak,

es ist tatsächlich so, wenn ich mein Windows Design ändere auf "klassisch" ist alles korrekt.
Stelle ich das Windows Design wieder um auf "VISTA" wird die falsche Farbe angezeigt.

Um diesem Problem auf die Spur zu kommen, müsste man wissen mit welcher Komponeten (VCL?) du das Quadrat umgesetzt hast und mit welchen Eigenschaften.

Vllt. wären auch noch Hinweise von anderen hier hilfreich, ob es unter VISTA 32 Bit mit aktiviertem Aero Design funktioniert und auch unter VISTA 64 Bit mit AERO Design?

lbccaleb 2. Aug 2008 22:01

Re: rzMagnifier - Bildschirmlupe+Colorpicker
 
also bei mir mit vista ist der effekt der selbe, wird auch mit in die box übernommen...
aber sowie jügen schon sagte... nen bissel code wie du die pixel ausliest müssten man schon bekommen, um genauere tipps zu sagen...

taaktaak 3. Aug 2008 12:40

Re: rzMagnifier - Bildschirmlupe+Colorpicker
 
Moin, Moin.
Während die übrigen Korrekturen + Ergänzungen gut vorankommen, bleibt das VISTA-Problem vorerst ungelöst. Hab' mich nun schlau gemacht, der "Aero-Glass-Effect" muss also berücksichtigt werden. Die Scanroutine meines Programms ist in diesem Punkt ganz simpel aufgebaut: Der Bildschirminhalt wird mittels

Delphi-Quellcode:
StretchBlt(FScanImage.Canvas.Handle,0,0,FScanImage.Width,FScanImage.Height, // dest
           FDC,X-(FLensSize div 2),Y-(FLensSize div 2),FLensSize,FLensSize, // sou
           SRCCopy);
in die Anzeige des Programms kopiert. Im Augenblick habe ich aber weniger eine "technische" Lösung im Sinn.

Ich frage mich, ob meine erste Idee, den "Aero-Glass-Effect" auszuschalten, sogar logisch zwingend ist? Aufgabe des Programms ist es doch die tatsächlichen Farben zu bestimmen und nicht irgendwelche von Windows hingerechneten Aquarelltöne. Ist es dann nicht am konsequentesten, während des Scans den Effekt auszuschalten? Oder ist das ein falscher Denkansatz?

juergen 3. Aug 2008 14:11

Re: rzMagnifier - Bildschirmlupe+Colorpicker
 
Hallo taaktaak,

IMHO nach darf das Windowsschema nicht geändert werden.
Wenn man einen Farbton auswählen will, dann genau den Farbton, welchen man zu diesem Zeitpunkt mit dem verwendeten Windowsschema auch sieht, oder?

Das Problem wird wohl nicht in deinem gezeigten Code zu finden sein.
Wie wird der Farbton ermittelt?

rotfc 3. Aug 2008 15:00

Re: rzMagnifier - Bildschirmlupe+Colorpicker
 
Zitat:

Zitat von taaktaak
Moin, Moin.
...
Ich frage mich, ob meine erste Idee, den "Aero-Glass-Effect" auszuschalten, sogar logisch zwingend ist? Aufgabe des Programms ist es doch die tatsächlichen Farben zu bestimmen und nicht irgendwelche von Windows hingerechneten Aquarelltöne. Ist es dann nicht am konsequentesten, während des Scans den Effekt auszuschalten? Oder ist das ein falscher Denkansatz?

Noch etwas konsequenter wäre es, die Hintergrundfarbe eines ausgeschalteten Monitors zu berechnen ;-)

Wenn ich mit einem Colourpicker auf ein Pixel klicke, möchte ich (sinngemäß) ROT erhalten, auch wenn mir ein lokales .CSS rot als gelb anzeigt. Wenn der Benutzer des Colourpickers dann den Farbwert nicht versteht, hat er eben Pech gehabt oder soll seine getönte Sonnenbrille abnehmen.

Kleb' doch mal auf Deinen Monitor transparente rote Folie und klick ein Pixel an. Welchen Farbwert möchtest Du haben? Den rotgetönten, den Du siehst? Wohl kaum, oder ...


Edith sagt: Mist verzapft. Eine rote, auf den Monitor geklebte Folie ist mit den Transparenzeffekten von Windows nicht vergleichbar.

Mit dem Linksklick möchte ich die Farbe des angeklickten Pixels haben, so wie es der Monitor (ohne Folie) anzeigt. Mit einem Rechtsklick auf das Pixel wäre es ganz nett die Originalfarbe des Pixels zu bekommen (während des Tippens frage ich mich gerade: wozu eigentlich? Den farbverfälschenden transparenten Effektdreck von Windows kann man ja schließlch abschalten!)

taaktaak 3. Aug 2008 16:59

Re: rzMagnifier - Bildschirmlupe+Colorpicker
 
Moin, Moin.

@Jürgen:
Der Farbton wird aus dem im Zentrum dargestellten Pixel des Images der Programmanzeige bestimmt; also ganz unspektakulär mit
Delphi-Quellcode:
Color:=FScanImage.Canvas.Pixels[Pxy,Pxy];
@Roland:
Zitat:

Den farbverfälschenden transparenten Effektdreck von Windows kann man ja schließlch abschalten!
Na, eben! Das ist ja meine aktuelle Überlegung. Wenn ich schreibe
Zitat:

Aufgabe des Programms ist es doch die tatsächlichen Farben zu bestimmen...
dann will ich ja den tatsächlichen von der Anwendung verwendeten Farbton bestimmen und nicht den, der von VISTA mit dem "Aero-Glass-Effect" daraus gemacht wird.

Bisher habe ich aber noch keine Informationen zu folgenden Fragen gefunden...
  • Ist der VISTA "Aero-Glass-Effect" aktiviert?
  • Wie deaktiviere/aktiviere ich diesen Effekt?

juergen 3. Aug 2008 17:23

Re: rzMagnifier - Bildschirmlupe+Colorpicker
 
Hallo taaktaak,

wie wird der transparente Farbton für das Auswahlquadrat umgesetzt?
Ist das eine Form mit entsprechendem Alphablend.Value und liegt diese über dem FScanImage?

Ich ermittel einen Farbwert folgendermaßen:
Delphi-Quellcode:
...
{ Private-Deklarationen }
  Farbwert: hDC;
...

  Farbwert:= GetDC(0); //DesktopColor
...

Var myColorValue : TColor;
myColorValue := GetPixel(Farbwert, Pos.X, Pos.Y);
...
Das funktioniert ganz nach dem Motto -> WYSIWYG :mrgreen: (auch unter Vista)

//EDIT: Code-Beispiel angefügt...

taaktaak 3. Aug 2008 17:38

Re: rzMagnifier - Bildschirmlupe+Colorpicker
 
Hallo Jürgen,
die sichtbare Lupe ist, wie du richtig vermutest, eine (normale) Form mit entsprechendem Alphablend. Mittels StrechBlt() wird der durch das Lupenfenster in Lage und Größe definierte Bereich des Desktops (HDC) in die Anzeige im Programmfenster (FScanImage) kopiert. Insofern liegt das Lupenfenster über dem Desktop, aber nicht über dem Image des Programmfensters.
Hm, habe ich mich verständlich ausgedrückt?

juergen 3. Aug 2008 18:12

Re: rzMagnifier - Bildschirmlupe+Colorpicker
 
Hallo Ralph,

muss die Reihenfolge nicht generell anders herum sein, also erst dein FScanImage und dann deine Form?
Ich könnte hier schnell gegentesten :mrgreen:

Gruss
Jürgen

taaktaak 4. Aug 2008 06:49

Re: rzMagnifier - Bildschirmlupe+Colorpicker
 
Reihenfolge, welche Reihenfolge? Was hat FScanImage mit dem (Lupen-)Form zu tun?
Sorry, verstehe ich nicht :?:

SaFu 4. Aug 2008 07:05

Re: rzMagnifier - Bildschirmlupe+Colorpicker
 
Liste der Anhänge anzeigen (Anzahl: 2)
Schönes Programm hab da aber einen Fehler gefunden.

Wenn ich das Programm öffne und ein bissel rumklicke mit(vorher das Foro icon angeklickt) und dann mit str + Alt + entf das Menü aufrufe und dann wieder abbrechen klicke kommt ein (mehrere) fehler siehe Anhang.


Und noch einer wenn ich in den Konfigurationen die Scannfarbe für den Rotenkasten z.b auf grün umstelle wird die Einstellung nicht übernommen. Über das Popupmenü funktioniert es wiederum


Ansonsten gut

Gruß Sascha

taaktaak 4. Aug 2008 07:39

Re: rzMagnifier - Bildschirmlupe+Colorpicker
 
Moin, Moin Sascha.
Das schaut ja gar nicht gut aus! Kann beide Situationen leider nicht rekonstruieren.

zu 1)
Mit Ctrl-Alt-Entf wird doch der Taskmanager aufgerufen, oder? Da passiert bei mir gar nix unerwartetes. Deine Screenshots zeigen natürlich eine Fehlersituation die unbedingt behoben werden muss; würdest du die Fehlerbedingung bitte noch einmal näher beschreiben.

zu 2)
Auch diesen Punkt kann ich nicht nachvollziehen. Alle drei Panels in der Konfiguration ändern ihre Farbe, wenn im ColorDialog eine neue Farbe ausgewählt wurde. Allerdings werden damit nur die 3 Voreinstellungen verändert! Die Lupenfarbe ändert sich nicht, wenn in der Konfiguration ein Voreinstellung verändert wurde, die aktuell nicht aktiv ist. Mit anderen Worten: Die Lupenfarbe ändert sich nur, wenn die gerade aktivierte Voreinstellung verändert wird. Anderenfalls steht die neue Farbe aber im Popup des Lupenfensters zur Auswahl. Falls es bei dir anders ist, bitte Info an mich.

// edit:
Hab' mal ein bisschen die Suche bemüht. Die eine Fehlermeldung "...Systemfehler 5" wurde hier im Forum so kommentiert: "Rückgabewert 5 sollte eigentlich darauf hinweisen, dass die Datei nicht vom aktuellen Benutzer geöffnet werden kann. Die DACL verweigert dies." - Arbeitest du unter VISTA? Dann müssen wir wohl mal herausfinden, welche Datei von meinem Programm in deinem Fall nicht geöffnet werden kann.

SaFu 4. Aug 2008 07:49

Re: rzMagnifier - Bildschirmlupe+Colorpicker
 
Also zum ersten Fehler

Programm Starten -> oben links fotosymbol anklicken (Roteerrahmen öffnet sich) -> 1 - 2 auf den Desktopklicken -> str +alt + entf drücken -> Taskmanager öffnet sich -> abbrechen drücken -> Fehler

Und wie beschrieben unter den Konfigurationen "Color & Alpahbelnd" kann ich einstellen was ich will da tut sich null komma null

Bin kein admin auf meinem Rechner vielleicht liegt es daran WinXP Prof. Service Pack 1 vielleicht liegts daran??

Fussball-Robby 4. Aug 2008 08:06

Re: rzMagnifier - Bildschirmlupe+Colorpicker
 
Zitat:

Zitat von fuknersascha
Programm Starten -> oben links fotosymbol anklicken (Roteerrahmen öffnet sich) -> 1 - 2 auf den Desktopklicken -> str +alt + entf drücken -> Taskmanager öffnet sich -> abbrechen drücken -> Fehler

Und wie beschrieben unter den Konfigurationen "Color & Alpahbelnd" kann ich einstellen was ich will da tut sich null komma null

Den 1.Fehler kann ich nicht nachvollziehen, den 2. aber schon. Wen ich das Einstellungs-Fenster schließe und wieder öffne, sind unter "Color & Alphablend" alle Eisntellungen zurückgesetzt.

Achja, noch ein Vorschlag: Ich fände es gut, wenn man den Scanvorgang auch mit Esc beenden könnte und nicht nur über das PopUp-Menü.

SaFu 4. Aug 2008 08:15

Re: rzMagnifier - Bildschirmlupe+Colorpicker
 
Ach auf die Panals kann man doppelklicken sodas sich der Colordialog öffnet sollte man vielleicht in Hint schreiben oder direkt auf das Panel.

Ahh und jetzt hab ich das mit der Einstellung gecheckt funktioniert doch vielleicht sollte man das wirklich so machen mit dem Hint oder direkt aufs Panel.

//Edit: das mit dem ESC würde ich auch vorschlagen.

taaktaak 4. Aug 2008 08:24

Re: rzMagnifier - Bildschirmlupe+Colorpicker
 
zu 1)
Du startest den Scan mit aktiviertem Lupenfenster, dann klickst du mehrfach. Da der Cursor auf dem Lupenfester "klebt", klickst du also auf das Lupenfenster?! Auf den Desktop ausserhalb des Lupenfensters dürftest du den Cursor nicht setzen können. Dann rufst du den Taskmanager auf. Hab' ich auch gemacht, aber wie wähle ich "Abbrechen" aus? Den Taskamanger kann ich nur "Beenden" - und da passiert bei mir nix unerwartetes. Seltsam.

zu 2)
...gelöscht...

// roter Kasten:

a) zusätzlicher Hinweis im Fall #2 >> wird eingebaut!

b)Escape zum Beenden? Na, wird erledigt! (hatte mich für die Leertaste entschieden, da sie die größte Taste ist und für einen Halbblinden am besten erreichbar ist)

Sagt mal: Lest ihr eigentlich die Hilfe??? Dafür habe ich etwa 25% der gesamten Projektbearbeitungszeit verwendet. Dort ist das alles beschrieben.

SaFu 4. Aug 2008 08:43

Re: rzMagnifier - Bildschirmlupe+Colorpicker
 
zu1 Also ich klicke auf den Desktop und dann den Taskmanager bei mir kann ich den Taskamanger abbrechen und Fussbal-Robby kann das anscheinend auch :zwinker:

In die Hilfe hab ich leider nicht reingeschaut das mach ioch dann wenn ich nicht weiter komme und was spezielles suche was ich eigentlich von einem Programm erwartet habe.

Aber das mit esc zum abrechen eine bestimmten funktion sollte eigentlich standart sein. auf die leertaste wäre ich nicht gekommen, nochnichtmal ein blinder würde die leertaste dafür benutzen :mrgreen: :zwinker:

Aber wie gesagt so finde ich es gelungen


Alle Zeitangaben in WEZ +1. Es ist jetzt 23:39 Uhr.
Seite 1 von 2  1 2      

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