Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Multimedia (https://www.delphipraxis.net/16-multimedia/)
-   -   Delphi Schwarzanteil eines Pixel ausrechnen (https://www.delphipraxis.net/21141-schwarzanteil-eines-pixel-ausrechnen.html)

nicodro 28. Apr 2004 13:33


Schwarzanteil eines Pixel ausrechnen
 
Hallo, ich würde gerne den schwarzanteil von einem Pixel bestimmen, könnt ihr mir sagen wie ich das am besten und einfachsten mache?
Danke
Nico

SirThornberry 28. Apr 2004 13:35

Re: Schwarzanteil eines Pixel ausrechnen
 
hä?? Also ein Pixel ist entweder schwarz oder nicht schwarz (schwarz = rgb(0,0,0)). Oder was meinst du mit schwarzanteil?

Es gäbe noch die möglichkeit das du das pixel in graustufen konvertierst und dann prüfst wie nah der wert an 0 rankommt...

maximov 28. Apr 2004 14:04

Re: Schwarzanteil eines Pixel ausrechnen
 
Moin.

Du meint wohl die 'luminosity', bzw anit-luminosity?

Das sollte in etwa so gehen:

Delphi-Quellcode:
var
  color:Prgba;
  R,G,B,
  D,
  Cmax,
  Cmin: double;

begin
  color := @RGB;

  R := color^.r / 255;
  G := color^.g / 255;
  B := color^.b / 255;
  Cmax := Max (R, Max (G, B));
  Cmin := Min (R, Min (G, B));

// calculate luminosity
  L := (Cmax + Cmin) / 2;

Jörn 28. Apr 2004 14:37

Re: Schwarzanteil eines Pixel ausrechnen
 
Hmm. Ich weiss nicht ob dir das weiterhilft, aber ich habe da noch einen Ansatz. Ich gehe mal davon aus du hast einen grauen Pixel, der - quasi - aus x Teilen Weiss und y Teilen Schwarz besteht. Etwa so gerechnet:

Delphi-Quellcode:
White := Color / clWhite; //Weissanteil
Black := 255 - White;
MfG

The-X 28. Apr 2004 16:20

Re: Schwarzanteil eines Pixel ausrechnen
 
Dafür gibt es ja 2 Verscheidene Arten eine Farbe anzugeben

RGB (Red, Green, Blue) & HSL (Hue, Saturation, Luminance)

hab da mal was beim Delphi-Forum gefunden

*CLICK*

generic 30. Apr 2004 12:55

Re: Schwarzanteil eines Pixel ausrechnen
 
imho gibt es nur im cmyk farbsystem einen schwarzanteil.
windows arbeitet aber mit rgb zur anzeige.

könnte schwierig werden das "richtig" umzurechnen.

Jörn 30. Apr 2004 14:17

Re: Schwarzanteil eines Pixel ausrechnen
 
Umrechnungsmöglichkeiten gibts alle hier: EasyRGB
Da gibts nativen Code der leicht zu übersetzen ist. Hab da fast mein ganzes Wissen über Farben am PC her.

generic 3. Mai 2004 09:24

Re: Schwarzanteil eines Pixel ausrechnen
 
naja, die koennen auch nur mit wasser kochen.

rgb mit 0,0,0 ergibts schwarz

cmyk 100,100,100,0 ergibt schwarz (gemischt) und 0,0,0,100 auch schwarz (pur).
100,100,100,100 ergibt toter hase.

den mal an die ganzen kleinen abstufungen.
z.b. sehr gerne beliebt 0,0,100,100 um den schwarz noch einen glanz zu verleihen (im offsetdruck)

maximov 3. Mai 2004 10:42

Re: Schwarzanteil eines Pixel ausrechnen
 
Wen interessiert CMYK?...Ich glaub nicht, dass er die farbe drucken will. Also bleiben wir schön bein additiven farbmodell.

Muetze1 3. Mai 2004 10:54

Re: Schwarzanteil eines Pixel ausrechnen
 
Moin!

/EDIT: habe nix gesagt....

MfG
Muetze1

The-X 3. Mai 2004 14:12

Re: Schwarzanteil eines Pixel ausrechnen
 
Liste der Anhänge anzeigen (Anzahl: 1)
Zitat:

Zitat von generic
imho gibt es nur im cmyk farbsystem einen schwarzanteil.
windows arbeitet aber mit rgb zur anzeige.

könnte schwierig werden das "richtig" umzurechnen.

HSL wird auch benutzt... z.B. wenn du benutzerdefinierte Farben einstellst ... siehe Anhang

maximov 3. Mai 2004 16:37

Re: Schwarzanteil eines Pixel ausrechnen
 
HSL is hier schon richtig...aber ich glaub das führt hier zu nix, da nicodro es wohl doch nicht interessiert hat :evil: ...ich hasse das, wenn man versucht jemanden zu helfen und der betreffende durch ignoranz glänzt.

generic 4. Mai 2004 10:03

Re: Schwarzanteil eines Pixel ausrechnen
 
>Wen interessiert CMYK?...

da gibt es wenigstens einen schwarzanteil.
bei rgb kannst du lange suchen.

maximov 4. Mai 2004 13:07

Re: Schwarzanteil eines Pixel ausrechnen
 
Zitat:

Zitat von generic
>Wen interessiert CMYK?...

da gibt es wenigstens einen schwarzanteil.
bei rgb kannst du lange suchen.

Hallo! Beharr doch nicht so auf dem 'schwarzanteil'. Wichtig ist, was er meinte und das war bestimmt nicht die Key-komponente von CMYK.

Du kannst RGB prima in HSL umrechnen, wobei da L für 'Luminosity' (Leuchtkraft) steht. Invertiert man die Leuchtkraft, so erhält man die 'Dunkelheit' => schwarz => schwarzanteil!

...bisschen mitdenken kann nie schaden :mrgreen:

Jörn 4. Mai 2004 13:21

Re: Schwarzanteil eines Pixel ausrechnen
 
Dann kann man aber auch gleich meinen Code nehmen, der macht dasselbe mit weniger Aufwand

maximov 5. Mai 2004 09:34

Re: Schwarzanteil eines Pixel ausrechnen
 
Zitat:

Zitat von Jörn
Dann kann man aber auch gleich meinen Code nehmen, der macht dasselbe mit weniger Aufwand

Du meinst also, dass...
Delphi-Quellcode:
White := Color / clWhite; //Weissanteil
...dir die Leuchtkraft einer farbe gibt? ...moment, das ist genial, du hast soeben die moderne farb-algorythmik revolutioniert :mrgreen:

Dh. um den schwarzanteil zu bekommen könnte man dann folgendes tun:

Delphi-Quellcode:
Black := color / clBlack;
:stupid:

Jörn 5. Mai 2004 12:59

Re: Schwarzanteil eines Pixel ausrechnen
 
Zitat:

Zitat von maximov
Zitat:

Zitat von Jörn
Dann kann man aber auch gleich meinen Code nehmen, der macht dasselbe mit weniger Aufwand

Du meinst also, dass...
Delphi-Quellcode:
White := Color / clWhite; //Weissanteil
...dir die Leuchtkraft einer farbe gibt? ...moment, das ist genial, du hast soeben die moderne farb-algorythmik revolutioniert :mrgreen:

Dh. um den schwarzanteil zu bekommen könnte man dann folgendes tun:

Delphi-Quellcode:
Black := color / clBlack;
:stupid:

Nein es gibt nicht die Leuchtkraft zurück, aber den Weissanteil, was so ziemlich gleichbedeutend ist.
Und wenn du dich mit Farbwerten und Mathe auskennen würdest, dann wüsstest du, das deine Zeile da jedes Prog zum Absturz bringt.

EDIT: btw K in CMYK steht nicht für Key, sondern für Karbon!!

Zitat:

Zitat von maximov
...bisschen mitdenken kann nie schaden :mrgreen:


Muetze1 5. Mai 2004 13:18

Re: Schwarzanteil eines Pixel ausrechnen
 
Moin!

Zitat:

Zitat von Jörn
EDIT: btw K in CMYK steht nicht für Key, sondern für Karbon!!

Zitat:

Zitat von maximov
...bisschen mitdenken kann nie schaden :mrgreen:


Apropos, nicht? Wenn Sie mal bitte schauen möchten? Das "k" steht für "blacK" und nicht für Key oder Karbon. Was auch immer das Karbon dabei soll...

Cyan, Magenta, Yellow, blacK

MfG
Muetze1

maximov 5. Mai 2004 13:48

Re: Schwarzanteil eines Pixel ausrechnen
 
Zitat:

Zitat von Jörn
...
Nein es gibt nicht die Leuchtkraft zurück, aber den Weissanteil, was so ziemlich gleichbedeutend ist.

Und wenn du dich mit Farbwerten und Mathe auskennen würdest, dann würdest du wenigstens merken, dass du auf dem holzweg bist:

zB:
r = 255, g = 0, b = 0 -> $FF0000

sollte genau den selben helligkeitswert haben wie

r = 0, g = 0, b = 255 -> $FF

nämlich genau 0,5

deine rechnung ergibt folgendes

$FF0000 / $FFFFFF = 0,996093809371818 -> fast 1.0
$0000FF / $FFFFFF = 1,51991853236667E-5 -> fast 0.0

also kann es falscher garnicht sein, was ja auch logisch ist...basta 8)


Zitat:

Und wenn du dich mit Farbwerten und Mathe auskennen würdest, dann wüsstest du, das deine Zeile da jedes Prog zum Absturz bringt.
Und wen du dich mit ironie auskennen... Ok lassen wir das. Ich will mich ja nicht streiten -> nur missverständnisse aus der welt schaffen.

Danke für den tip mit der Kohle, hatte immer schon das gefühl das meine annahme möglicherweise falsch ist :cheers:


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