UIColor aus CMY-Werten?

Diese Seite verwendet Cookies. Durch die Nutzung unserer Seite erklären Sie sich damit einverstanden, dass wir Cookies setzen. Weitere Informationen

  • Johannes Wolf schrieb:

    s kann man auch ganz einfach aus den RGB werten berechnen

    Mathematisch kann man das. Aber technisch sind CMY(K) und RGB schon zwei völlig unterschiedliche Fabrsysteme, auch mit grundverschiedenen physikalischen Eigenschaften:RGB ist ein additiver Farbraum der auf "Selbstleuchtern" basiert, während CMY(K) ein subtraktiver Farbraum ist, der auf Reflexion beruht. Oder pauschal: RGB -> Monitor, CMY(K) -> Druck. Daher benötigt man für die Konversion (eigentlich zwingend) Farbprofile, die die Eigenschaften beider konkreter Farbräume beschreiben und so v.a. bei CMY(K) -> RGB zu einem anständigen Ergebnis führen. Richtig realistisch wird es aufgrund der unterschied´lichen Grundystematiken aber nicht.

    Dieses Thema ist nicht mal eben erledigt. Die großen Publisher-Anbieter (Quark, Adobe, früher auch Calamus) haben unglaublich viel Schmalz in diese Technologien investiert. Und zwar nicht nur in die Farbseparation RGB -> CMYK, sondern eben auch umgekehrt, da in der Druckvorstufe logischerweise nur CMYK eine Rolle spielt. Wer hier mit RGB arbeitet, macht sich lächerlich.
  • Johannes Wolf schrieb:

    das kann man auch ganz einfach aus den RGB werten berechnen :)

    Leider funktioniert das, wie bereits erwähnt, nur mathematisch. IIRC sind etwa blau/grün-Töne in CMYK einfach ausdrucksschwach.

    Versuch mal einen Ausstellungskatalog für Yves Klein zu drucken. Es geht nicht, wie du leicht bemerkst, wenn du vor dem Gemälde stehst. Und die rühren die Farben extra an. Aber das magische Leuchten des Blau bekommst du einfach gedruckt nicht hin. Ich habe erst vor etwa einem Jahr bei einer Ausstellungseröffnung einen Kurator in Bremen gehört, der von der Verzweiflung des Druckers berichtete.
    Es hat noch nie etwas gefunzt. To tear down the Wall would be a Werror!
    25.06.2016: [Swift] gehört zu meinen *Favorite Tags* auf SO. In welcher Bedeutung von "favorite"?
  • Amin Negm-Awad schrieb:

    Und die rühren die Farben extra an. Aber das magische Leuchten des Blau bekommst du einfach gedruckt nicht hin.

    Wobei das Gemälde und der Katalog beide subtraktive Farbräume verwenden. Das Problem liegt hier wohl daran, dass versucht wird, eine Schmuckfarbe mit einer CMY(K)-Farbe anzunähern. Wenn der Drucker mit der selben angerührten Farbe gedruckt hätte, wäre das Ergebnis vermutlich besser gewesen. Oder Klarlack drüber, das verändert das Brechungsverhalten des Lichts und wirkt sich durchaus positiv auf die Brillianz aus ...

    Nur so am Rande ;)

    BTW und OT: DANK DANK DANK! Ich habe mich mit Hilfe von Band 2 am Wochenende mit Blöcken vertraut gemacht und habe es VERSTANDEN! Sehr geniales Konzept.
  • Wie ich schrieb, war es eine angerührte Farbe. Und ich glaube auch, dass ein Kunstdrucker, der von der Stadt Bremen beauftragt wird, sein Handwerk versteht. Zumal ich mich häufiger mit IM/Druck über derartige Probleme unterhalte und die eben derlei Probleme bestätigen.

    Übrigens scheint das Gemälde wirklich zu leuchten. Man muss davor gestanden haben, um das zu sehen. Das ist außerordentlich beeindruckend.
    Es hat noch nie etwas gefunzt. To tear down the Wall would be a Werror!
    25.06.2016: [Swift] gehört zu meinen *Favorite Tags* auf SO. In welcher Bedeutung von "favorite"?
  • Amin Negm-Awad schrieb:

    Übrigens scheint das Gemälde wirklich zu leuchten. Man muss davor gestanden haben, um das zu sehen. Das ist außerordentlich beeindruckend.


    Dann wurde für das Blau sicherlich gemahlener Lapislazuli verwendet, das kann man drucktechnisch vergessen.
    Xcode 4 sucks – „,Multiple exclamation marks‘, he went on, shaking his head, are a sure sign of a diseased mind.‘“ (Terry Pratchett 1992: Eric)

    "Wir ordnen und befehlen hiermit allen Ernstes, dass die Advocati wollene schwarze Mäntel, welche bis unter das Knie gehen, unserer Verordnung gemäß zu tragen haben, damit man die Spitzbuben schon von weitem erkennt." (Friedrich Wilhelm I., Soldatenkönig)
  • fwtag schrieb:

    […]
    BTW und OT: DANK DANK DANK! Ich habe mich mit Hilfe von Band 2 am Wochenende mit Blöcken vertraut gemacht und habe es VERSTANDEN! Sehr geniales Konzept.

    Ja, Closures können wirklich hilfreich sein. Vor allem bei "Callbacks" (Aus einem Methodenaufruf, nicht vom System) lassen sich damit leicht formulieren, weil man nicht auf die häfig vorgegebene Parameterliste beschränkt ist (user-Dictionary).

    Für die praktische Anwendung hat übrigens Frank Illenberg einen Vortrag auf der Macoun gehalten. Da ich da schon wieder in Köln war, habe ich ihn nicht gesehen, gehe aber bei Frank davon aus, dass er sehr gut war.
    Es hat noch nie etwas gefunzt. To tear down the Wall would be a Werror!
    25.06.2016: [Swift] gehört zu meinen *Favorite Tags* auf SO. In welcher Bedeutung von "favorite"?
  • mika schrieb:

    Amin Negm-Awad schrieb:

    Übrigens scheint das Gemälde wirklich zu leuchten. Man muss davor gestanden haben, um das zu sehen. Das ist außerordentlich beeindruckend.


    Dann wurde für das Blau sicherlich gemahlener Lapislazuli verwendet, das kann man drucktechnisch vergessen.

    Das kann ich dir nicht sagen. Das technische Problem, dessen Lösung übrigens von ihm patentiert wurde, lag wohl darin, dass durch die Bindung die Leuchtkraft der Pigmente verloren ging.
    Es hat noch nie etwas gefunzt. To tear down the Wall would be a Werror!
    25.06.2016: [Swift] gehört zu meinen *Favorite Tags* auf SO. In welcher Bedeutung von "favorite"?
  • Amin Negm-Awad schrieb:

    Ja, Closures können wirklich hilfreich sein. Vor allem bei "Callbacks" (Aus einem Methodenaufruf, nicht vom System) lassen sich damit leicht formulieren, weil man nicht auf die häfig vorgegebene Parameterliste beschränkt ist (user-Dictionary).

    [Immer noch OT]Ich komme mir vor, als hätte ich eine Erleuchtung gehabt: Ich habe am Wochenende mit Blöcken und mit try-catch-finally angefangen und schäme mich fast für meinen davor produzierten Code. Naja, das nächste Projekt kommt bestimmt ... :) [/Immer noch OT]
  • fwtag schrieb:

    Amin Negm-Awad schrieb:

    Ja, Closures können wirklich hilfreich sein. Vor allem bei "Callbacks" (Aus einem Methodenaufruf, nicht vom System) lassen sich damit leicht formulieren, weil man nicht auf die häfig vorgegebene Parameterliste beschränkt ist (user-Dictionary).

    [Immer noch OT]Ich komme mir vor, als hätte ich eine Erleuchtung gehabt: Ich habe am Wochenende mit Blöcken und mit try-catch-finally angefangen und schäme mich fast für meinen davor produzierten Code. Naja, das nächste Projekt kommt bestimmt ... :) [/Immer noch OT]

    Das ist, glaube ich, ganz normal, und hört auch nie auf - ich habe vor Kurzem einen Eimer voll Threads weggeworfen, nachdem ich mir Grand Central Dispatch angesehen habe. Man sollte sich nicht über seinen alten Code ärgern, sondern sich freuen, dass es jetzt besser geht.
    [ausnahmsweise Topic]Das Schlüsselwort für die ganzen Konvertierungsprobleme ist Gamut. Der ist bei verschiedenen Farbräumen unterschiedlich und deshalb lassen sich nicht alle Farben in einem anderen Farbraum abbilden. Konvertierungen zwischen additiven und subtraktiven Farbräumen funktionieren eh nur für eine konstante, breitbandig weiße Beleuchtungssituation. Ich sehe zwei Möglichkeiten, das Thema anzufassen: a) Sich einige Jahre in eine Höhle zurückziehen und versuchen, das Thema so gut zu verstehen, dass man selbst etwas Vernünftiges hinbekommt oder b) strikt das gegebene Farbmanagement nutzen. Apples Implementierung ist für Alltagsaufgaben ganz ausreichend, wenn man Kleinigkeiten beachtet, wie z.B. den NSColorRenderingIntent vernünftig zu setzen.[/Topic]
    Multigrad - 360°-Produktfotografie für den Mac
  • Also: Back to topic!

    fwtag schrieb:

    Das geht über den Umweg über ein CGColorSpace: Klick.

    # EDIT: Nachdem Du den Colorspace erzeugt hast, brauchst Du das hier.

    CGColorSpaceCreateWithName(kCGColorSpaceGenericCMYK) geht schon mal nicht, Fehler: nicht verfügbar.
    CGColorSpaceCreateDeviceCMYK(); geht dafür.

    Hier mal der Code, den ich in den viewDidLoad-Teil gepackt habe:

    Quellcode

    1. CGColorSpaceRef colorSpace = CGColorSpaceCreateDeviceCMYK();
    2. float components[4] = {0.0, 0.0, 0.0, 1.0};
    3. CGColorRef color = CGColorCreate(colorSpace, components);
    4. [self.view setBackgroundColor:[UIColor colorWithCGColor:color]];
    5. CGColorRelease(color);
    6. CGColorSpaceRelease(colorSpace);


    Egal was ich bei components eintrage, self.view erhält immer eine weiße Hintergrundfarbe. Was läuft da schief?