AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Projekte rzMagnifier - Bildschirmlupe+Colorpicker, Version 1.3
Thema durchsuchen
Ansicht
Themen-Optionen

rzMagnifier - Bildschirmlupe+Colorpicker, Version 1.3

Ein Thema von taaktaak · begonnen am 23. Jun 2008 · letzter Beitrag vom 9. Nov 2008
Antwort Antwort
Seite 4 von 5   « Erste     234 5      
taaktaak
Registriert seit: 25. Okt 2007
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
Miniaturansicht angehängter Grafiken
screenshot_2008.11.09_173.jpg  
Angehängte Dateien
Dateityp: zip pgm_help_2008.11.09_987.zip (561,9 KB, 98x aufgerufen)
 
taaktaak

 
Delphi 7 Professional
 
#31
  Alt 3. Aug 2008, 17:38
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?
Ralph
  Mit Zitat antworten Zitat
Benutzerbild von juergen
juergen

 
Delphi 11 Alexandria
 
#32
  Alt 3. Aug 2008, 18:12
Hallo Ralph,

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

Gruss
Jürgen
Jürgen
  Mit Zitat antworten Zitat
taaktaak

 
Delphi 7 Professional
 
#33
  Alt 4. Aug 2008, 06:49
Reihenfolge, welche Reihenfolge? Was hat FScanImage mit dem (Lupen-)Form zu tun?
Sorry, verstehe ich nicht
Ralph
  Mit Zitat antworten Zitat
Benutzerbild von SaFu
SaFu

 
Delphi 10.3 Rio
 
#34
  Alt 4. Aug 2008, 07:05
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
Miniaturansicht angehängter Grafiken
fehler2_185.jpg   fehler_343.jpg  
  Mit Zitat antworten Zitat
taaktaak

 
Delphi 7 Professional
 
#35
  Alt 4. Aug 2008, 07:39
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.
Ralph
  Mit Zitat antworten Zitat
Benutzerbild von SaFu
SaFu

 
Delphi 10.3 Rio
 
#36
  Alt 4. Aug 2008, 07:49
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??
  Mit Zitat antworten Zitat
Benutzerbild von Fussball-Robby
Fussball-Robby

 
Delphi 7 Enterprise
 
#37
  Alt 4. Aug 2008, 08:06
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ü.
Robert L.
  Mit Zitat antworten Zitat
Benutzerbild von SaFu
SaFu

 
Delphi 10.3 Rio
 
#38
  Alt 4. Aug 2008, 08:15
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.
  Mit Zitat antworten Zitat
taaktaak

 
Delphi 7 Professional
 
#39
  Alt 4. Aug 2008, 08:24
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.
Ralph
  Mit Zitat antworten Zitat
Benutzerbild von SaFu
SaFu

 
Delphi 10.3 Rio
 
#40
  Alt 4. Aug 2008, 08:43
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

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

Aber wie gesagt so finde ich es gelungen
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 4 von 5   « Erste     234 5      


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 15:24 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