Forum: Sonstige Fragen zu Delphi
by bitsetter,
16. Apr 2007
@TonyR Solche extremen Farbschwankungen wie in deinen Bildern können eigentlich nicht entstehen. Es gibt sicherlich noch ausgefeiltere Funktionen, aber hier sind ein Paar Beispiele die noch im Toleranzbereich von 2 liegen würden:
Ausgangsfarbe:
R G B
0 205 230
Toleranz = 2 zugelassen z. B.
R G B
2 207 232
Forum: Sonstige Fragen zu Delphi
by bitsetter,
16. Apr 2007
Hi,
das kann ich jetzt nicht nachvollziehen, ich habe das eben noch einmal getestet. Du könntest Toleranz ja mal auf 1 oder 2 setzten:ColorToleranz(clGreen, DCFarbe, 2);
Ansonsten kannst du ja nochmal deinen Code posten.
Mit was für einer Farbe hast du denn getestet?
Forum: Sonstige Fragen zu Delphi
by bitsetter,
15. Apr 2007
Also bei mir ist die Farbe andersrum richtig :?: , probiere es doch mal aus:
procedure TForm1.Button1Click(Sender: TObject);
begin
Color:= $F1D4B5; //$B5D4F1;
end;
Kann ja sein, dass es daran liegt.
Forum: Sonstige Fragen zu Delphi
by bitsetter,
15. Apr 2007
Ich habe noch eine andere Funktion geschrieben, kannst ja mal testen ob die anders ist:
function ColorToleranz(SollColor, IstColor: TColor; Toleranz: Byte): boolean;
var
rSoll, gSoll, bSoll, rIst, gIst, bIst: byte;
begin
Result:= false;
SollColor := ColorToRgb(SollColor);
rSoll := GetRvalue(SollColor);
gSoll := GetGvalue(SollColor);
bSoll := GetBvalue(SollColor);
Forum: Sonstige Fragen zu Delphi
by bitsetter,
15. Apr 2007
Und wenn das Programm beendet wird, sollte man den Speicher auch wieder frei geben:
procedure TForm1.FormDestroy(Sender: TObject);
begin
if DesktopDC > 0 then
ReleaseDC(0, DesktopDC);
end;
Forum: Sonstige Fragen zu Delphi
by bitsetter,
15. Apr 2007
Hallo,
ich habe mal ein Beispiel angehängt, wo ein Mausklick ausgelöst wird, wenn man die Maus bewegt und sich darunter eine rote Farbe befindet. Das ganze funktioniert mit einem Hook, eventuell kannst du ja da was von gebrauchen.