Определить, является ли цветовое пространство изображения CMYK или PMS - PullRequest
0 голосов
/ 27 октября 2010

Я создаю небольшой валидатор загрузки изображений для этой типографии, им нужно убедиться, что загруженное изображение имеет цветовое пространство CMYK или PMS.

Это то, что я сейчас использую:

Image img = Image.FromStream(fupFile.PostedFile.InputStream);
ImageFlags flags = (ImageFlags)Enum.Parse(typeof(ImageFlags), img.Flags.ToString());

Затем я могу проверить flags , которая будет содержать что-то вроде «Частично масштабируемый | ColorSpaceCmyk | HasRealPixelSize». Больше информации об этом здесь: http://msdn.microsoft.com/en-us/library/system.drawing.imaging.imageflags.aspx

Обратите внимание, что для цветового пространства PMS нет флага. Есть ли способ проверить это?

Кроме того, некоторые файлы, которые я загружаю, вообще не имеют флага цветового пространства. Значит ли это, что цветовое пространство не распознается?

Мне также интересно, если это надежный способ проверить цветовое пространство или есть лучшая стратегия?

EDIT:

Я оглядывался по сторонам, и я думаю, вы можете получить много данных из метаданных изображения. http://msdn.microsoft.com/en-us/library/xddt0dz7%28v=VS.90%29.aspx

Кто-нибудь знает, содержит ли метаданные цветовое пространство изображения?

1 Ответ

1 голос
/ 28 октября 2010

PMS - это , а не цветовое пространство, скорее это система соответствия цветов (PANTONE Color Matching System). Я серьезно сомневаюсь, что вы найдете любые популярные кодеки растровых изображений, которые используют этот метод кодирования цвета пикселей. Скорее они будут кодировать цвет PANTONE как один из CMYK или RGB (или, возможно, другой цветовой модели).

Векторные форматы файлов, такие как Postscript или PDF, могут включать плашечные цвета, содержащие ссылку на PMS, однако даже для этих форматов обычно требуется эквивалент числа PMS в RGB или CMYK.

Лучший метод определения цветовой модели изображения - это знать и понимать сам формат файла. Нетрудно прочитать и проанализировать необработанные заголовки файлов, чтобы определить, хранятся ли базовые данные как CMYK, RGB и т. Д ...

Надежные наборы инструментов, такие как Leadtools, могут сделать эту задачу немного проще и точнее, чем все, что вы получите из .NET.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...