Сохранить .jpg Изображение в оттенках серого с использованием C # [дубликат]

Вам все равно нужно явно встраивать свою функцию при выполнении специализированной специализации (если специализация находится в файле .h)

3
задан TheBlueSky 28 January 2013 в 13:13
поделиться

2 ответа

Image img = Image.FromFile(filePathOriginal);
Bitmap bmp = ConvertTo8bpp(img);
EncoderParameters parameters = new EncoderParameters();
parameters.Param[0] = new EncoderParameter(Encoder.ColorDepth, 8);
bmp.Save(filePathNew, jpgCodec, parameters);
bmp.Dispose();
img.Dispose();

...

private static Bitmap ConvertTo8bpp(Image img) {
    var bmp = new Bitmap(img.Width, img.Height, System.Drawing.Imaging.PixelFormat.Format8bppIndexed);
using (var gr = Graphics.FromImage(bmp))
{
     gr.DrawImage(img, new Rectangle(0, 0, img.Width, img.Height));
}

return bmp;
}
0
ответ дан andrew.butkus 1 September 2018 в 00:47
поделиться

Я попытался и попытался просто сделать вывод, что мне жаль: класс Bitmap библиотеки .NET не сохраняет JPEG как 8bpp, даже если явно указано, а данные находятся в оттенках серого.

(обратите внимание: хотя указано в некоторые места, формат JPEG поддерживают 8bpp).

В Преобразование изображения в оттенки серого вы можете найти код snipet для преобразования в оттенки серого любого изображения.

Использование этот код, я смог сохранить экземпляр изображения с оттенками серого размером 8bpp с расширением «.jpeg», но указав ImageFormat.Gif ... это чит ...

Мои результаты показывают, что решение представляет собой совершенно другой подход .

Библиотека FreeImage предлагает мощные API-интерфейсы, включая функцию, необходимую для решения вашей проблемы.

Домашняя страница находится в http://freeimage.sourceforge.net/faq .html

Но я не мог легко скомпилировать его на машине Win2008 + VS 2010.

Надо попотеть, чтобы запустить его в современных условиях.

Некоторые подсказки о том, как это сделать, можно найти в http: //www.sambeauvoi s.be/blog/2010/05/freeimage-and-x64-projects-yes-you-can/

Удачи!

1
ответ дан Community 1 September 2018 в 00:47
поделиться
Другие вопросы по тегам:

Похожие вопросы: