Как проверить, находится ли цвет вне гаммы цветового пространства
Я разрабатываю веб-приложение на основе холста, преобразующее цвета изображения из Display P3 в sRGB с использованием алгоритма отображения относительной колориметрической гаммы (цвета в пределах гаммы округляются/выравниваются, цвета вне гаммы зажимаются).
Перед фактическим преобразованием мне нужно провести предварительный просмотр, чтобы выяснить, какие цвета будут вне гаммы, и показать эти пиксели вне гаммы с резервным цветом (например, черным или голубым).
Итак, процесс заблокирован здесь:
function isOutOfGamut(colorXYZ, colorSpaceInfo){
// TODO
}
-
colorXYZ
это цвет, описанный в CIE XYZ -
colorSpaceInfo
содержит всю информацию о цветовом пространстве, может быть извлечен из какого-либо цветового профиля ICC