Название: проблема с сохранением 8-битного JPEG Отправлено: alexey11111 от Март 09, 2012, 15:33 Добрый день!
Есть 8-битное 256-grayscale изображение, получаемое с некоторого USB-устройства. Яркости пикселей этого изображения хранятся в матрице Img размером Width*Height. Создаю новое изображение QImage: Код: QImage Picture = QImage((const unsigned char*)(Img), Далее конвертирую PIcture в QPixmap и сохраняю полученную картинку в JPEG файл: Код: QPixmap SPicture = QPixmap::fromImage(Picture); Все работает, в сохраненном файле получается требуемая серая картинка. Но есть одна проблема - изображение сохраняется с глубиной цвета 24 бит, а нужно 8 бит. Пробовал сохранять в jpeg файл QImage без конвертации в QPixmap: Код: Picture.save("PICTURE.jpeg"); Подскажите, что делать? Заранее спасибо. Название: Re: проблема с сохранением 8-битного JPEG Отправлено: Igors от Март 09, 2012, 19:58 Насколько мне известно, jpeg всегда 24-битный. По-моему, можно задавать 8-битные палитры в gif и png. Поправьте, если я ошибаюсь. Нет, grayscale поддерживается (во всяком случае самой libJPG).Название: Re: проблема с сохранением 8-битного JPEG Отправлено: sudo от Март 11, 2012, 10:11 QImage QImage::convertToFormat ( Format format, Qt::ImageConversionFlags flags = Qt::AutoColor ) const
QImage::Format_Indexed8 3 The image is stored using 8-bit indexes into a colormap. bool QImage::save ( const QString & fileName, const char * format = 0, int quality = -1 ) const |