Как добавить текст к изображениям с помощью CMYK ColorSpace в .NET 4 - PullRequest
3 голосов
/ 13 декабря 2010

Я работаю над проектом, в основе которого лежит добавление текста к изображению, поэтому в качестве примера с фоновым изображением (B) и некоторым текстом с заданным шрифтом, размером точки и шрифтом (A) они составленывместе, чтобы произвести (C): Example Image

В конечном итоге нужно распечатать эти изображения, поэтому фоны используют цветовое пространство CMYK, и мне нужно сохранить весь процесс в пределах CMYK или цветов.выглядеть неправильно при печати.( примечание: превосходная статья о цветовых пространствах и .NET о CodeProject )

Я пробовал несколько разных способов объединения этих изображений вместе:

  • System.Drawing неявно преобразует все в RGB
  • System.Windows.Media.Imaging - нет методов компоновки
  • System.XAML / WPF - очень многообещающе, однако RenderTargetBitmap не работает в форматах Pixel.Cmyk32 (выдает исключение ArgumentException).

Я смотрел, но не пробовал сторонние коммерческие компоненты, так как цены, кажется, начинают расти и продолжают расти:

Isэто возможно в .NET 4?

Редактировать: Поскольку кто-то может захотеть сделать что-то немного другое и просто конвертировать любой формат, который Windows.System.Media.Imaging может загрузить в CMYK, вот кодЯ использовал:

var bitmapConverter = new FormatConvertedBitmap();
bitmapConverter.BeginInit();
bitmapConverter.Source = sourceImage;
bitmapConverter.DestinationFormat = PixelFormats.Cmyk32;
bitmapConverter.EndInit();

Для уточненияПриведенный выше код преобразует источник изображения в CMYK32 (без прозрачности), однако, если вы используете определенные классы (а именно RenderTargetBitmap, пропуск вышеупомянутого ImageSource вызовет исключение).

1 Ответ

1 голос
/ 13 декабря 2010

Если вы много смотрели на SO, вы, вероятно, уже видели эти ссылки. Но на всякий случай вот несколько ссылок, которые я нашел, которые могут быть полезны для вас.

Здесь приведена ссылка на SO о работе с CMYK в .NET:

Конвертировать цвет RGB в CMYK?

В частности, упоминается использование цветовых профилей и API управления цветом Windows.

Вот еще одна SO ссылка:

Как программно преобразовать CMYK в RGB в indesign

Один из респондентов упоминает, что нет точного преобразования между CMYK и RGB.

Вот ссылка о создании двух изображений CMYK без преобразования в RGB:

Есть ли какая-либо графическая библиотека CMYK?

Ответчик предлагает использовать коммерческий продукт, с которым он связан.

...