Formel zum Herausfinden des Ergebnisses einer Farbe nach Anwenden von x% Deckkraft?


9

Ich habe 2 Farben

  1. #a1a2a4
  2. schwarz ( #000000)
  3. weiß ( #ffffff)

Jetzt muss ich wissen, wie viel Deckkraft (in Prozent) ich auf die zweite Farbe (schwarz) vor dem Hintergrund der dritten Farbe (weiß) auftragen muss, um eine Farbe zu erzielen, die der ersten "am nächsten" (wie vom Auge bestimmt) liegt Farbe ( #a1a2a4).

Wie mache ich das?



Ich bin ein wenig verwirrt von Ihrem Wortlaut: Sie möchten einen grayTon, der der angegebenen Farbe am nächsten kommt, richtig?
Horatio

Antworten:


6

Dieser Fall ist mehr oder weniger einfach (Sie haben es mit Schwarzweiß zu tun).

Überprüfen Sie nach dem Auftragen der Farbe (# a1a2a4) die RGB-Werte:

RGB-Pegel

Sie können sehen, dass es ungefähr 162 (Durchschnitt) hat, und wenn Sie wissen, dass es von 0 bis 255 gehen kann, müssen Sie nur den Prozentsatz herausfinden:

162 * 100/255 = ~ 63,5%

Da RGB im Vergleich zu CMYK umgekehrt funktioniert (in Bezug auf die Farbmischung bedeutet dh Vollfarbmischung Weiß und bei CMYK Vollfarbmischung Schwarz), ist der tatsächliche Prozentsatz in diesem Fall die Differenz zwischen 100% und dem Wert dass wir haben:

100 - 63,5 = 36,5%

Wenn Sie also 36% der Deckkraft anwenden, hat es diese Farbe, ich habe es gerade getestet.

Natürlich funktioniert diese Methode in Fällen mit komplexeren Farben nicht und ich weiß nicht, wie ich den Prozentsatz ermitteln kann. Ich würde das klassische Ausprobieren durchführen.


4

Die Frage ist, wenn ich es richtig verstehe, "Wie würden Sie dies programmatisch berechnen ?" Es ist ganz einfach, Ihre Zielfarbe in einen Alpha-Wert umzuwandeln.

Weiß == [1,1,1] oder #ffffff oder 255,255,255, abhängig von Ihrer Anwendung. Schwarz == [0,0,0] usw.

Also: Normalisieren Sie den Zielwert (in diesem Fall 0,6314), subtrahieren Sie von 1 und wenden Sie ihn als Alpha-Wert auf die schwarze Ebene an. Sie könnten diesen einen Kanal nach dem anderen machen und die Ergebnisse mitteln, aber warum sollten Sie sich die Mühe machen, da Ihre Farbe (für das Auge) nicht von einem neutralen Grau # a1a1a1 zu unterscheiden ist. (Bei einem sichtbaren Farbton werden die Dinge komplexer, da die Kanäle dann unterschiedliche Werte haben, aber das gleiche Prinzip gilt.)


Das ist ein ernsthaft sexy Geekage genau dort. 8)
Lauren-Clear-Monica-Ipsum

3
Warum Danke! <Passt den Taschenschutz an und stellt sicher, dass die Stifte gleichmäßig verteilt sind>
Alan Gilbertson

0

Eine etwas schnellere Variante von Versuch und Irrtum:

Erstellen Sie Ihre Hex-Farbe in Photoshop in einem CMYK-Dokument und sehen Sie sich die CMYK-Werte an. Ich bekomme 39/32/31/1.

Erstellen Sie zwei Ebenen, die obere schwarze und die untere weiße.

Öffnen Sie das Infofenster. Ziehen Sie das Ebenenfenster separat auf.

Spielen Sie mit der Deckkraft der schwarzen Ebene. Verwenden Sie die Pipette über Ihrer Farbe und überprüfen Sie im Infofenster, wie nahe Sie kommen. Dies spart Ihnen meistens Zeit beim Ändern der Deckkraft - Abflachen - Farbe prüfen - Abflachen rückgängig machen.


Du hast recht, aber es gibt einen viel geekeren Weg, es zu tun. 8-D
Alan Gilbertson

0

Aufgrund Ihrer Vordergrund- und Hintergrundfarben (einheitliche Werte für die Kanäle R, G und B) können Sie #a1a2a4durch Ändern der Deckkraft keine ungleichmäßige Farbe erzielen, da die Deckkraft alle Kanäle gleichzeitig beeinflusst. Sie können jedoch eine Farbe erzielen, die "nah genug" ist, #a1a1a1indem Sie die Deckkraft von Schwarz auf einstellen 0.37. Hier ist das Tool, das ich verwendet habe:

http://colorizer.org/

  1. Klicken Sie auf "Hintergrund" und setzen Sie den Hex-Wert auf #fff
  2. Klicken Sie auf "Button" und setzen Sie den Hex-Wert auf #000
  3. Verwenden Sie eine Pipette, um die Zielfarbe im Spektrum "Alpha / Deckkraft" zu finden, und klicken Sie dann auf das Spektrum, um den Deckkraftwert zu erhalten.

0

Das Finden dieser Formel ist eine großartige Übung in der linearen Algebra. Unter Verwendung von RGB und linearer Algebra habe ich diese Matrix M entwickelt. Wenn Sie RGBred = (237,32,36) und RGBblue = (60,84,165) kombinieren möchten, wobei die untere Schicht 100% Deckkraft und die obere Schicht 50% beträgt Die Opazität multipliziert dann Mv, wobei M die Matrix darunter ist und v = (237,32,36,60,84,165). Wir erhalten Mv = (157,777,71,444,104,444).

Der tatsächliche Wert ist (159,71,103), wir sind also ziemlich nah dran, aber es gibt einige Fehler - wahrscheinlich entweder, weil ich gerundete Werte zur Berechnung von M verwendet habe und / oder weil möglicherweise nicht RGB, sondern eine andere Skala zur Berechnung der Transparenz verwendet wird Abflachung. Ich könnte wahrscheinlich eine genauere Matrix mit einem Ansatz vom Typ der kleinsten Quadrate erhalten, aber ich war zu faul.

Die Matrix, die MI hat, ist

M=[-0.316438695251802233798084520470 -0.0205011495462359668020633451463 -0.627769626184202308338411657855 
    4.83088877248122926488562947487 -0.673109830626855247075257552051 0.137681159420289855072463768116]
[2.67597831835520455938498494132 0.215715090307662822540065922133 1.69848459052630338054958974280 -13.9750196437925615505500261925 
    3.20021608171817705605028810915 -0.370471014492753623188405797101]
[-6.62632375526968419148486246260 0.509833585674322977062528534400 -3.14436345482363613544439381045 35.0629474419416797625283743688
    -6.69242186135847738781211803779 1.41304347826086956521739130435]
Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.