Глубина цвета пикселя encoder paramters
есть программа, которая должна преобразовывать из 8-bit ного Bmp в 8-bit jpeg, но она преобразовывает его в 24bit jpeg. За преобразования отвечают эти строки:
- encoderParameters.Count = 1;
- encoderParameters.Parameter[0].Guid = EncoderColorDepth; //глубина цвета (новый параметр)
- encoderParameters.Parameter[0].NumberOfValues = 1; // количество значений параметра
- //encoderParameters.Parameter[0].Type = EncoderParameterValueTypeLong; //тип значения параметра.
- PixelFormat depth = PixelFormat8bppIndexed; //198659
- encoderParameters.Parameter[0].Value = &depth; //его значение и ссылка на него
- stat = image->Save(L"Shapes01.jpg", &encoderClsid, &encoderParameters);
На практике: картинке вообще всё равно на этот параметр- т.е. она игнорирует значение PixelFormat(можно написать туда PixelFormat4bppIndexed и сохранит ту же картинку), в чём может быть дело? При чём, получая image->GetPixelFormat() получаю значение всегда 198659 , что соответствует 8 bit.