По состоянию на 1.0.0-бета0005 Нет формата пикселей Gray8, потому что мы не могли решить, какую цветовую модель использовать при преобразовании из Rgb (нам это нужно внутренне).Рекомендация МСЭ-R BT.709 кажется разумным решением, потому что это то, что поддерживает png и что мы используем при сохранении изображения как 8-битного png в градациях серого, поэтому оно находится в моем списке TODO.
https://en.wikipedia.org/wiki/Grayscale#Converting_color_to_grayscale
Итак ... в настоящее время вам необходимо использовать Rgb24
или Rgba32
при декодировании изображений.
Обновить.
По состоянию на 1.0.0-dev002094 теперь это возможно!У нас есть два новых формата пикселей.Gray8
и Gray16
, которые содержат только яркостную составляющую пикселя.
using (Image<Gray8> image = Image.Load<Gray8>("foo.png"))
{
image.Mutate(x => x
.Resize(image.Width / 2, image.Height / 2));
image.Save("bar.png");
}
Примечание.Кодировщик png по умолчанию сохранит изображение в соответствии с типом входного цвета и глубиной цвета.Если вы хотите закодировать изображение в другой цветовой тип, вам нужно создать новый экземпляр PngEncoder
с установленными свойствами ColorType
и BitDepth
.