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 3 von 5     123 45      
Benutzerbild von juergen
juergen

Registriert seit: 10. Jan 2005
Ort: Bönen
1.176 Beiträge
 
Delphi 11 Alexandria
 
#1

Re: rzMagnifier - Bildschirmlupe+Colorpicker

  Alt 1. Aug 2008, 21:10
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.
Jürgen
Indes sie forschten, röntgten, filmten, funkten, entstand von selbst die köstlichste Erfindung: der Umweg als die kürzeste Verbindung zwischen zwei Punkten. (Erich Kästner)
  Mit Zitat antworten Zitat
Benutzerbild von xZise
xZise

Registriert seit: 3. Mär 2006
Ort: Waldbronn
4.303 Beiträge
 
Delphi 2009 Professional
 
#2

Re: rzMagnifier - Bildschirmlupe+Colorpicker

  Alt 1. Aug 2008, 22:51
Zitat von juergen:
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
Fabian
Eigentlich hat MS Windows ab Vista den Hang zur Selbstzerstörung abgewöhnt – mkinzler
  Mit Zitat antworten Zitat
taaktaak

Registriert seit: 25. Okt 2007
Ort: Radbruch
1.993 Beiträge
 
Delphi 7 Professional
 
#3

Re: rzMagnifier - Bildschirmlupe+Colorpicker

  Alt 2. Aug 2008, 20:24
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

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!
Ralph
  Mit Zitat antworten Zitat
Benutzerbild von juergen
juergen

Registriert seit: 10. Jan 2005
Ort: Bönen
1.176 Beiträge
 
Delphi 11 Alexandria
 
#4

Re: rzMagnifier - Bildschirmlupe+Colorpicker

  Alt 2. Aug 2008, 20:38
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?
Jürgen
Indes sie forschten, röntgten, filmten, funkten, entstand von selbst die köstlichste Erfindung: der Umweg als die kürzeste Verbindung zwischen zwei Punkten. (Erich Kästner)
  Mit Zitat antworten Zitat
Benutzerbild von lbccaleb
lbccaleb

Registriert seit: 25. Mai 2006
Ort: Rostock / Bremen
2.037 Beiträge
 
Delphi 7 Enterprise
 
#5

Re: rzMagnifier - Bildschirmlupe+Colorpicker

  Alt 2. Aug 2008, 22:01
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...
Martin
MFG Caleb
TheSmallOne (MediaPlayer)
Die Dinge werden berechenbar, wenn man die Natur einer Sache durchschaut hat (Blade)
  Mit Zitat antworten Zitat
taaktaak

Registriert seit: 25. Okt 2007
Ort: Radbruch
1.993 Beiträge
 
Delphi 7 Professional
 
#6

Re: rzMagnifier - Bildschirmlupe+Colorpicker

  Alt 3. Aug 2008, 12:40
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?
Ralph
  Mit Zitat antworten Zitat
Benutzerbild von juergen
juergen

Registriert seit: 10. Jan 2005
Ort: Bönen
1.176 Beiträge
 
Delphi 11 Alexandria
 
#7

Re: rzMagnifier - Bildschirmlupe+Colorpicker

  Alt 3. Aug 2008, 14:11
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?
Jürgen
Indes sie forschten, röntgten, filmten, funkten, entstand von selbst die köstlichste Erfindung: der Umweg als die kürzeste Verbindung zwischen zwei Punkten. (Erich Kästner)
  Mit Zitat antworten Zitat
rotfc
(Gast)

n/a Beiträge
 
#8

Re: rzMagnifier - Bildschirmlupe+Colorpicker

  Alt 3. Aug 2008, 15:00
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!)
  Mit Zitat antworten Zitat
taaktaak

Registriert seit: 25. Okt 2007
Ort: Radbruch
1.993 Beiträge
 
Delphi 7 Professional
 
#9

Re: rzMagnifier - Bildschirmlupe+Colorpicker

  Alt 3. Aug 2008, 16:59
Moin, Moin.

@Jürgen:
Der Farbton wird aus dem im Zentrum dargestellten Pixel des Images der Programmanzeige bestimmt; also ganz unspektakulär mitColor:=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?
Ralph
  Mit Zitat antworten Zitat
Benutzerbild von juergen
juergen

Registriert seit: 10. Jan 2005
Ort: Bönen
1.176 Beiträge
 
Delphi 11 Alexandria
 
#10

Re: rzMagnifier - Bildschirmlupe+Colorpicker

  Alt 3. Aug 2008, 17:23
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 (auch unter Vista)

//EDIT: Code-Beispiel angefügt...
Jürgen
Indes sie forschten, röntgten, filmten, funkten, entstand von selbst die köstlichste Erfindung: der Umweg als die kürzeste Verbindung zwischen zwei Punkten. (Erich Kästner)
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 3 von 5     123 45      


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 17:23 Uhr.
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz