Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Multimedia (https://www.delphipraxis.net/16-multimedia/)
-   -   Delphi Problem mit Farbkonstanten beim Auslesen von Pixels (https://www.delphipraxis.net/77557-problem-mit-farbkonstanten-beim-auslesen-von-pixels.html)

JVALeipzig 21. Sep 2006 07:43


Problem mit Farbkonstanten beim Auslesen von Pixels
 
Hallo, ich hab folgendes Problem

Ich lese aus einem normalen TImage über Image.Canvas.Pixels[x,y] einen TColor-wert aus und daraus berechne ich dann einen Gamma wert und gebe diesen dann als pixel in graustufen wieder im Image aus, so dass dann ein Bild mit grautönen (gammawerten) entsteht, was ich weiter bearbeiten möchte, ... aber jetzt sind mir unzählige "verunreinigungen" im Bild aufgefallen, irgendwelche fehlerpixels, die da nicht hingehören und ich hab herraus gefunden, dass das damit zusammenhängt, dass bei TColor die Farbe manchmal nicht nach dem Schema $00FFFFFF sondern als Konstante clWhite ausgegeben wird,

Wenn ich die TColor-werte in strings umwandele um sie dann über ihre Hex werte in R,G,B-Integer Zahlen zu konvertieren dann klappt das natürlich nicht, wenn da clIrgendwas steht und meine funktion versucht da Hexadezimale Ziffern zu erkennen .

lange rede kurzer sinn, wie bekomme ich es hin, dass mir ausschließlich hexadezimale Farbwerte ausgegeben werden, wenn ich canvas.pixels[x,y] aufrufe. Habe keine lust eine Case Of abfrage für alle hunderttausend Farbkonstanten zu machen.

vielleicht könnt ihr mir ja helfen

vielen dank

Muetze1 21. Sep 2006 11:32

Re: Problem mit Farbkonstanten beim Auslesen von Pixels
 
Delphi-Referenz durchsuchenColorToRGB()

himitsu 21. Sep 2006 12:10

Re: Problem mit Farbkonstanten beim Auslesen von Pixels
 
Aber nicht auf Pixels anwenden, denn dieses wird ja schon im RGB-Format zurückgegeben ... nur einige Farbkonstanten sind Spezialwerte, welche z.B. "nur" die Nummer der Farbe und nicht die Farbe selber enthalten.

Delphi-Quellcode:
Image.Canvas.Pixels[x,y] := ColorToRGB(cl...);

Muetze1 21. Sep 2006 12:22

Re: Problem mit Farbkonstanten beim Auslesen von Pixels
 
Zitat:

Zitat von himitsu
Aber nicht auf Pixels anwenden, denn dieses wird ja schon im RGB-Format zurückgegeben ... nur einige Farbkonstanten sind Spezialwerte, welche z.B. "nur" die Nummer der Farbe und nicht die Farbe selber enthalten.

Delphi-Quellcode:
Image.Canvas.Pixels[x,y] := ColorToRGB(cl...);

Hä? Gerade darauf soll er es anwenden. Und ausserdem würde es keinen Unterschied machen: Wenn man ColorToRGB() auf einen RGB Wert anwendet, passiert gar nix. Wo sollte dort ein Problem liegen? Ich versteh den Einwand nicht so ganz...

himitsu 22. Sep 2006 17:50

Re: Problem mit Farbkonstanten beim Auslesen von Pixels
 
Das es kein Problem gibt, wenn es auf Pixels angewendet würde ist klar, es wäre nur ein "unnötiger" Funktionsaufruf,
aber wenn er es NUR auf Pixels anwendet, dann schon :zwinker:



Dieses wäre ja schließtlich das Selbe, wie wenn man ColorToRGB wegließe:
Delphi-Quellcode:
ColorToRGB(Image.Canvas.Pixels[x,y]) := cl...;


Alle Zeitangaben in WEZ +1. Es ist jetzt 01:04 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