![]() |
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 |
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... |
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; |
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:
MfG
White := Color / clWhite; //Weissanteil
Black := 255 - White; |
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 ![]() |
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. |
Re: Schwarzanteil eines Pixel ausrechnen
Umrechnungsmöglichkeiten gibts alle hier:
![]() Da gibts nativen Code der leicht zu übersetzen ist. Hab da fast mein ganzes Wissen über Farben am PC her. |
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) |
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.
|
Re: Schwarzanteil eines Pixel ausrechnen
Moin!
/EDIT: habe nix gesagt.... MfG Muetze1 |
Re: Schwarzanteil eines Pixel ausrechnen
Liste der Anhänge anzeigen (Anzahl: 1)
Zitat:
|
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.
|
Re: Schwarzanteil eines Pixel ausrechnen
>Wen interessiert CMYK?...
da gibt es wenigstens einen schwarzanteil. bei rgb kannst du lange suchen. |
Re: Schwarzanteil eines Pixel ausrechnen
Zitat:
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: |
Re: Schwarzanteil eines Pixel ausrechnen
Dann kann man aber auch gleich meinen Code nehmen, der macht dasselbe mit weniger Aufwand
|
Re: Schwarzanteil eines Pixel ausrechnen
Zitat:
Delphi-Quellcode:
...dir die Leuchtkraft einer farbe gibt? ...moment, das ist genial, du hast soeben die moderne farb-algorythmik revolutioniert :mrgreen:
White := Color / clWhite; //Weissanteil
Dh. um den schwarzanteil zu bekommen könnte man dann folgendes tun:
Delphi-Quellcode:
:stupid:
Black := color / clBlack;
|
Re: Schwarzanteil eines Pixel ausrechnen
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. EDIT: btw K in CMYK steht nicht für Key, sondern für Karbon!! Zitat:
|
Re: Schwarzanteil eines Pixel ausrechnen
Moin!
Zitat:
![]() Cyan, Magenta, Yellow, blacK MfG Muetze1 |
Re: Schwarzanteil eines Pixel ausrechnen
Zitat:
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:
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