Nach Ihrer Frage zu lesen, kann ich nicht, wenn entscheiden. Sie versuchen, einen Softproof-Vorgang durchzuführen, oder
b. Sie bauen eine Farbauswahl Art der Anwendung, und Sie wollen Ihre Benutzer mit den Namen bestimmter Farben liefern (zB aus pantone oder NCS, etc. zu jagen), wenn Sie den sRGB-Wert Annäherungen anzuzeigen oder
c. etwas ganz anderes.
Was ist der CMYK-Raum, mit dem Sie beschäftigt sind? Wenn Sie die Option (a) - Softproofing - ausführen, können Sie wahrscheinlich Kurven zu den LUTs im CMYK-Profil anpassen und daraus eine "Verknüpfungs" -Transformation ermitteln, die Sie dann im Nicht-ICC-Modus ausführen können. JavaScript-Laufzeit, in der Sie arbeiten. Die meisten CMYK-Profile führen ihre Konvertierung mit LUTs durch, und viele verwenden ICC4 NamedColor2-Werte (die Sie vielleicht als Wert in 'ncl2' ICC-Tags kennen).
Wenn dies der Fall ist, kann ich Sie auf einige Ressourcen verweisen, wie dies zu tun ist - ich mache es selbst mit SciPy in der Python Django-Farbmanagement-Bildanalyse App-Plattform, an der ich arbeite.
Wenn Sie die Option (b) verwenden und Farbnamen benötigen, können Sie die benötigten Namen aus Ihrem CMYK-Profil extrahieren (höchstwahrscheinlich NamedColor2-Werte) und eine Nachschlagetabelle erstellen, die Sie anschließend serialisieren können JSON, damit Sie es in Ihre App laden können. Wenn Ihre App Kenntnisse über den Anzeigebereich haben muss, können Sie die App wahrscheinlich für ihre Anzeige "kalibrieren" - geben Sie ihnen einige Fragen, mit denen Sie den Weißpunkt-Offset berechnen können (und möglicherweise RGB XYZ) tristimulii) und dann vielleicht eine Quickie-Transformation (die so simpel sein kann wie eine chromatische Adaptions-Transformation, die ich errate), die Sie dann auf Farbwerte anwenden, die Sie "farblich verwalten" wollen, bevor Sie sie anzeigen.
die Transformationen ohne CMS-System zu tun, ist Bruce Lindbloom Mathe ein guter Anfang:
http://www.brucelindbloom.com/
wenn es c) ist bin ich sehr gespannt, was es ist.
ist das hilfreich? Ich kann Beispielcode, & c, erarbeiten und/oder zur Verfügung stellen, wenn Sie Ihre Frage ergänzen (ich arbeite in einer ähnlichen Problemdomäne, also konnten wir beide auf diesem gewinnen).
Mein Vorschlag ist, dass Sie bei der Java-Lösung bleiben, da nichts falsch daran ist. Ich verstehe nicht, warum Sie es ersetzen möchten, oder warum Sie annehmen, dass Flash oder Silverlight besser wäre. – finnw
Nur Leistung. Die gesamte Interaktion von JavaScript und Java-Applet ist ein wenig langsam, da es oft pro Sekunde getan wird, während Sie herumspielen, ändernde Farben. –
Wenn der Engpass Nachrichten zwischen JavaScript und dem Applet passiert, vermute ich, dass das Ersetzen von Java durch Flash oder Silverlight keinen Unterschied macht. Wenn Sie jedoch [ColorSpace.fromCIEXYZ] (http://download.oracle.com/javase/6/docs/api/java/awt/color/ColorSpace.html#fromCIEXYZ (float [])) und verwandte Methoden verwenden auf einzelne Pixel - Nun, das * ist * langsam. Es gibt schnellere Implementierungen in Java (die möglicherweise immer noch schneller als JS oder Flash sind). – finnw