![]() |
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. |
Re: rzMagnifier - Bildschirmlupe+Colorpicker
Zitat:
MfG xZise |
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! |
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? |
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... |
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:
in die Anzeige des Programms kopiert. Im Augenblick habe ich aber weniger eine "technische" Lösung im Sinn.
StretchBlt(FScanImage.Canvas.Handle,0,0,FScanImage.Width,FScanImage.Height, // dest
FDC,X-(FLensSize div 2),Y-(FLensSize div 2),FLensSize,FLensSize, // sou SRCCopy); 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? |
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? |
Re: rzMagnifier - Bildschirmlupe+Colorpicker
Zitat:
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!) |
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:
@Roland:
Color:=FScanImage.Canvas.Pixels[Pxy,Pxy];
Zitat:
Zitat:
Bisher habe ich aber noch keine Informationen zu folgenden Fragen gefunden...
|
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:
Das funktioniert ganz nach dem Motto -> WYSIWYG :mrgreen: (auch unter Vista)
...
{ Private-Deklarationen } Farbwert: hDC; ... Farbwert:= GetDC(0); //DesktopColor ... Var myColorValue : TColor; myColorValue := GetPixel(Farbwert, Pos.X, Pos.Y); ... //EDIT: Code-Beispiel angefügt... |
Alle Zeitangaben in WEZ +1. Es ist jetzt 08:00 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