Я обрабатываю много разных форматов изображений в своем приложении. К счастью, я смог исправить большую часть работы с форматами изображений в C# WPF. Однако у меня проблема при сохранении изображений:сохранить изображение в оттенках серого как цвет JPEG
Я хотел бы сохранить свои изображения в формате JPEG с помощью JpegBitmapEncoder с профилем RGB. Это прекрасно подходит для форматов цветных изображений. Однако при обращении с изображениями, то есть в формате Gray16 или Gray8, полученные JPEG-файлы будут иметь профиль Grayscale. Мне действительно нужен профиль RGB для моих JPEG!
Я знаю, что могу просто создать новую WriteableBitmap в Bgra32, скопировать на нее данные и использовать ее для создания JPEG. Это, однако, означает, что мне нужно будет обрабатывать разные форматы изображений. Самое главное, я считаю, что этот объезд будет довольно неэффективным в вычислительной области (мне нужно преобразовать много данных изображения!).
Также я не могу использовать какие-либо решения вне C#/WPF (например, Imagemagick).
Я надеюсь, что есть способ решить это легко и эффективно. Я не нашел способа настроить JpegBitmapEncoder для этого, и у меня была попытка с помощью ColorConvertedBitmap, но безрезультатно!
Любые идеи?
Вы хотите покрасить изображение в оттенках серого или просто сохранить его с помощью RGB-каналов, но все еще с серыми цветами? – RononDex
Вы также пробовали [FormatConvertedBitmap] (http://msdn.microsoft.com/en-us/library/system.windows.media.imaging.formatconvertedbitmap.aspx)? – Clemens
Мне нужно сохранить его с RGB-каналами, но все еще с серыми цветами, посмотрит FormatConvertedBitmap –