Nano Hash - криптовалюты, майнинг, программирование

C#, Как генерировать только CMYK-совместимые цвета в RGB


Ответы:


1

Ответ на этот вопрос аналогичен ответу на C# для преобразования значения RGB в CMYK с использованием ICC профиль?:

Я не знаю ни одного C# API или библиотеки, которые могли бы достичь этого. Однако, если у вас достаточно знаний C/C++ для создания оболочки для C#, я вижу два варианта:

Обе системы предлагают API для проверки возможности представления цвета в другом цветовом пространстве.

09.03.2011

2

Ну, CMYK основан на шкале 0-100, в отличие от RGB, которая составляет 0-255. Итак, в CMYK всего 100 «оттенков серого» против 256 в RGB.

Попробуйте "babelfishing" входное значение RGB; преобразуйте его в CMYK, используя любой алгоритм преобразования, который вам нравится, затем преобразуйте ЭТО обратно в RGB, чтобы получить «наиболее близкое совпадение». Пока вы можете затем преобразовать это ближайшее соответствие в CMYK и обратно до тошноты, вы нашли значение RGB, которое будет преобразовано 1: 1 в RGB. Если цвет продолжает искажаться, вероятно, что-то не так с преобразованием, так или иначе. Я не знаю специфики преобразования RGB-CMYK, да и алгоритма одного нет.

РЕДАКТИРОВАТЬ: проверьте примечание внизу этого конвертера RGB-> CMYK: http://web.forret.com/tools/color.asp?R=85&G=85&B=68. В соответствии с этим CMYK может отображать БОЛЬШЕ цветов, чем RGB, из-за дополнительного измерения черного. Я называю махинациями, но я думаю, это снова зависит от вашей конкретной реализации преобразователя. Википедия просто говорит, что это «сложно», потому что значения CMYK больше зависят от оборудования, чем RGB.

08.03.2011
  • Привет и спасибо за ваш ответ! Это решение babelfish было первым, о чем я подумал, но мне все еще не хватает лучшего способа преобразовать значение из RGB в CMYK (с предоставленным профилем ICC). На самом деле, эта недостающая часть — мой первый вопрос (на который я ссылаюсь здесь). 09.03.2011
  • да, я тоже не могу проглотить, что CYMK может отображать больше цветов, чем RGB, я бы не доверял этому сайту, XD 09.03.2011
  • Новые материалы

    Кластеризация: более глубокий взгляд
    Кластеризация — это метод обучения без учителя, в котором мы пытаемся найти группы в наборе данных на основе некоторых известных или неизвестных свойств, которые могут существовать. Независимо от..

    Как написать эффективное резюме
    Предложения по дизайну и макету, чтобы представить себя профессионально Вам не позвонили на собеседование после того, как вы несколько раз подали заявку на работу своей мечты? У вас может..

    Частный метод Python: улучшение инкапсуляции и безопасности
    Введение Python — универсальный и мощный язык программирования, известный своей простотой и удобством использования. Одной из ключевых особенностей, отличающих Python от других языков, является..

    Как я автоматизирую тестирование с помощью Jest
    Шутка для победы, когда дело касается автоматизации тестирования Одной очень важной частью разработки программного обеспечения является автоматизация тестирования, поскольку она создает..

    Работа с векторными символическими архитектурами, часть 4 (искусственный интеллект)
    Hyperseed: неконтролируемое обучение с векторными символическими архитектурами (arXiv) Автор: Евгений Осипов , Сачин Кахавала , Диланта Хапутантри , Тимал Кемпития , Дасвин Де Сильва ,..

    Понимание расстояния Вассерштейна: мощная метрика в машинном обучении
    В обширной области машинного обучения часто возникает необходимость сравнивать и измерять различия между распределениями вероятностей. Традиционные метрики расстояния, такие как евклидово..

    Обеспечение масштабируемости LLM: облачный анализ с помощью AWS Fargate и Copilot
    В динамичной области искусственного интеллекта все большее распространение получают модели больших языков (LLM). Они жизненно важны для различных приложений, таких как интеллектуальные..